diff options
author | Warren Hunt <whunt@google.com> | 2014-02-19 23:20:20 +0000 |
---|---|---|
committer | Warren Hunt <whunt@google.com> | 2014-02-19 23:20:20 +0000 |
commit | dd353014c20594af971ef62ffdbf5b8aa1b20b4f (patch) | |
tree | 416c59a3a6d58520112cb86769ccec787b336b23 /include/clang/Basic/BuiltinsX86.def | |
parent | ea8a523231bdeb1fd9781815eafcc209026a79b6 (diff) | |
download | clang-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.def | 1 |
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", "") |