diff options
-rw-r--r-- | include/clang/AST/X86Builtins.def | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/include/clang/AST/X86Builtins.def b/include/clang/AST/X86Builtins.def index ccb75ecebc..057ff91f12 100644 --- a/include/clang/AST/X86Builtins.def +++ b/include/clang/AST/X86Builtins.def @@ -293,7 +293,12 @@ BUILTIN(__builtin_ia32_storelps, "vV2i*V4f", "") BUILTIN(__builtin_ia32_movmskps, "iV4f", "") BUILTIN(__builtin_ia32_pmovmskb, "iV8c", "") BUILTIN(__builtin_ia32_movntps, "vf*V4f", "") -BUILTIN(__builtin_ia32_movntq, "vV1LLi*V1LLi", "") +// FIXME: the prototype for __builtin_ia32_movntq changed across different +// versions of GCC. Until we can replace GCC's xmmintrin.h, this is hacked to +// be a vararg builtin instead of taking V1LLi like it should. This loses some +// type checking but makes us compatible with old version of GCC's xmmintrin.h +// file. +BUILTIN(__builtin_ia32_movntq, "vV1LLi*.", "") BUILTIN(__builtin_ia32_sfence, "v", "") BUILTIN(__builtin_ia32_psadbw, "V4sV8cV8c", "") BUILTIN(__builtin_ia32_rcpps, "V4fV4f", "") |