summaryrefslogtreecommitdiff
path: root/include/clang/Basic/BuiltinsX86.def
diff options
context:
space:
mode:
authorWarren Hunt <whunt@google.com>2014-02-19 23:20:20 +0000
committerWarren Hunt <whunt@google.com>2014-02-19 23:20:20 +0000
commitdd353014c20594af971ef62ffdbf5b8aa1b20b4f (patch)
tree416c59a3a6d58520112cb86769ccec787b336b23 /include/clang/Basic/BuiltinsX86.def
parentea8a523231bdeb1fd9781815eafcc209026a79b6 (diff)
downloadclang-dd353014c20594af971ef62ffdbf5b8aa1b20b4f.tar.gz
clang-dd353014c20594af971ef62ffdbf5b8aa1b20b4f.tar.bz2
clang-dd353014c20594af971ef62ffdbf5b8aa1b20b4f.tar.xz
Add _mm_prefetch and some others as MS builtins
This patch adds several built-ins that are required for ms compatibility. _mm_prefetch must be a built-in because it takes a compile-time constant argument and our prior approach of using a #define to the current built-in doesn't work in the presence of re-declaration of _mm_prefetch. The others can be obtained by including the windows system headers. If a user includes the windows system headers but not intrin.h they still need to work and therefore must be built-in because we don't get a chance to implement them in intrin.h in this case. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@201734 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Basic/BuiltinsX86.def')
-rw-r--r--include/clang/Basic/BuiltinsX86.def1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/clang/Basic/BuiltinsX86.def b/include/clang/Basic/BuiltinsX86.def
index 51397fa45d..4a67fc1f5f 100644
--- a/include/clang/Basic/BuiltinsX86.def
+++ b/include/clang/Basic/BuiltinsX86.def
@@ -59,6 +59,7 @@ BUILTIN(__builtin_ia32_pswapdsi, "V2iV2i", "nc")
// All MMX instructions will be generated via builtins. Any MMX vector
// types (<1 x i64>, <2 x i32>, etc.) that aren't used by these builtins will be
// expanded by the back-end.
+BUILTIN(_mm_prefetch, "vcC*i", "nc")
BUILTIN(__builtin_ia32_emms, "v", "")
BUILTIN(__builtin_ia32_paddb, "V8cV8cV8c", "")
BUILTIN(__builtin_ia32_paddw, "V4sV4sV4s", "")