From 9daca0e56150497036d3a9d4530151de8cdc04f3 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Sun, 5 Oct 2008 19:05:44 +0000 Subject: [PATCH] Fix a problem reported in PR2766 that makes clang reject old versions of GCC's headers. This impacts people that run clang in Tiger systems. llvm-svn: 57126 --- clang/include/clang/AST/X86Builtins.def | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/include/clang/AST/X86Builtins.def b/clang/include/clang/AST/X86Builtins.def index ccb75ecebcb6..057ff91f12c3 100644 --- a/clang/include/clang/AST/X86Builtins.def +++ b/clang/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", "")