{"action":"created","issue":{"url":"https://api.github.com/repos/dlang/druntime/issues/1669","repository_url":"https://api.github.com/repos/dlang/druntime","labels_url":"https://api.github.com/repos/dlang/druntime/issues/1669/labels{/name}","comments_url":"https://api.github.com/repos/dlang/druntime/issues/1669/comments","events_url":"https://api.github.com/repos/dlang/druntime/issues/1669/events","html_url":"https://github.com/dlang/druntime/pull/1669","id":181857576,"number":1669,"title":"add core.simd.prefetch declaration","user":{"login":"WalterBright","id":568298,"avatar_url":"https://avatars.githubusercontent.com/u/568298?v=3","gravatar_id":"","url":"https://api.github.com/users/WalterBright","html_url":"https://github.com/WalterBright","followers_url":"https://api.github.com/users/WalterBright/followers","following_url":"https://api.github.com/users/WalterBright/following{/other_user}","gists_url":"https://api.github.com/users/WalterBright/gists{/gist_id}","starred_url":"https://api.github.com/users/WalterBright/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/WalterBright/subscriptions","organizations_url":"https://api.github.com/users/WalterBright/orgs","repos_url":"https://api.github.com/users/WalterBright/repos","events_url":"https://api.github.com/users/WalterBright/events{/privacy}","received_events_url":"https://api.github.com/users/WalterBright/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":8,"created_at":"2016-10-09T01:07:12Z","updated_at":"2016-10-09T11:06:46Z","closed_at":"2016-10-09T03:47:41Z","pull_request":{"url":"https://api.github.com/repos/dlang/druntime/pulls/1669","html_url":"https://github.com/dlang/druntime/pull/1669","diff_url":"https://github.com/dlang/druntime/pull/1669.diff","patch_url":"https://github.com/dlang/druntime/pull/1669.patch"},"body":"Necessary to support making it a compiler intrinsic."},"comment":{"url":"https://api.github.com/repos/dlang/druntime/issues/comments/252479989","html_url":"https://github.com/dlang/druntime/pull/1669#issuecomment-252479989","issue_url":"https://api.github.com/repos/dlang/druntime/issues/1669","id":252479989,"user":{"login":"9il","id":845083,"avatar_url":"https://avatars.githubusercontent.com/u/845083?v=3","gravatar_id":"","url":"https://api.github.com/users/9il","html_url":"https://github.com/9il","followers_url":"https://api.github.com/users/9il/followers","following_url":"https://api.github.com/users/9il/following{/other_user}","gists_url":"https://api.github.com/users/9il/gists{/gist_id}","starred_url":"https://api.github.com/users/9il/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/9il/subscriptions","organizations_url":"https://api.github.com/users/9il/orgs","repos_url":"https://api.github.com/users/9il/repos","events_url":"https://api.github.com/users/9il/events{/privacy}","received_events_url":"https://api.github.com/users/9il/received_events","type":"User","site_admin":false},"created_at":"2016-10-09T11:06:46Z","updated_at":"2016-10-09T11:06:46Z","body":"> LLVM (EDIT markdown) cache type parameter is missing. This is not used now, but likely be used in the future. For example intel CPU has non shared L1 / L2 caches. If GDC BE has not this feature, it can just ignore it.\r\n> I left it off because LDC did not have it in the documentation I found. Perhaps I found old documentation? I also could find nothing on what might trigger the generation of the PREFETCHWT1 opcode.\r\n\r\nFrom the same link you have posted on the Issue Tracking System:\r\n```\r\n‘llvm.prefetch‘ Intrinsic\r\n\r\nSyntax:\r\n\r\ndeclare void @llvm.prefetch(\r\n  i8* <address>, \r\n  i32 <rw>,\r\n  i32 <locality>,\r\n  i32 <cache type>)\r\n```\r\nThe last one parameter is what i mean.\r\n```\r\nArguments:\r\n\r\n... The cache type specifies whether the prefetch\r\nis performed on the data (1) or instruction (0) cache. ...\r\n```\r\n> \r\n> Only __prefetch should be presented, and it would be nice to have it as a part of the language instead of DRuntime hack.\r\n> Using a template enables forcing the parameters to be constants and getting easy checking of the values. My testing of it shows it does compile directly to the instruction - no function call - when inlining is turned on.\r\n> \r\n> Making it a function breaks final fastmath optimization for LDC. So, only real intrinsics should be provided for user without any function shells.\r\n> I don't understand - doesn't LDC inline it?\r\n> \r\n> Underscored __names looks good to me. Also this will help to BetterC mode.\r\n> It shouldn't impair betterC at all, since the template is instantiated in the user code, not druntime.\r\n> \r\n> A clean API without encodings is required for __prefetch in context of (2).\r\n> I don't understand this comment.\r\n\r\n"}}
{"actor":{"display_login":"9il"}}