From: Eli Friedman Date: Tue, 8 Nov 2011 04:13:51 +0000 (+0000) Subject: Misc fixes to pcmp*stri. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=355130fde923c7284d32cc61fc3a34673bf14852;p=clang Misc fixes to pcmp*stri. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144073 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Basic/BuiltinsX86.def b/include/clang/Basic/BuiltinsX86.def index 6bd901469c..fd78fd483c 100644 --- a/include/clang/Basic/BuiltinsX86.def +++ b/include/clang/Basic/BuiltinsX86.def @@ -357,22 +357,22 @@ BUILTIN(__builtin_ia32_pcmpeqq, "V2LLiV2LLiV2LLi", "") BUILTIN(__builtin_ia32_mpsadbw128, "V16cV16cV16ci", "") // SSE 4.2 -BUILTIN(__builtin_ia32_pcmpistrm128, "V16cV16cV16cc", "") -BUILTIN(__builtin_ia32_pcmpistri128, "iV16cV16cc", "") -BUILTIN(__builtin_ia32_pcmpestrm128, "V16cV16ciV16cic", "") -BUILTIN(__builtin_ia32_pcmpestri128, "iV16ciV16cic","") +BUILTIN(__builtin_ia32_pcmpistrm128, "V16cV16cV16cIc", "") +BUILTIN(__builtin_ia32_pcmpistri128, "iV16cV16cIc", "") +BUILTIN(__builtin_ia32_pcmpestrm128, "V16cV16ciV16ciIc", "") +BUILTIN(__builtin_ia32_pcmpestri128, "iV16ciV16ciIc","") -BUILTIN(__builtin_ia32_pcmpistria128, "iV16ciV16cic","") -BUILTIN(__builtin_ia32_pcmpistric128, "iV16ciV16cic","") -BUILTIN(__builtin_ia32_pcmpistrio128, "iV16ciV16cic","") -BUILTIN(__builtin_ia32_pcmpistris128, "iV16ciV16cic","") -BUILTIN(__builtin_ia32_pcmpistriz128, "iV16ciV16cic","") - -BUILTIN(__builtin_ia32_pcmpestria128, "iV16ciV16cic","") -BUILTIN(__builtin_ia32_pcmpestric128, "iV16ciV16cic","") -BUILTIN(__builtin_ia32_pcmpestrio128, "iV16ciV16cic","") -BUILTIN(__builtin_ia32_pcmpestris128, "iV16ciV16cic","") -BUILTIN(__builtin_ia32_pcmpestriz128, "iV16ciV16cic","") +// FIXME: These builtins are horribly broken; reenable when PR11305 is fixed. +//BUILTIN(__builtin_ia32_pcmpistria128, "iV16cV16cIc","") +//BUILTIN(__builtin_ia32_pcmpistric128, "iV16cV16cIc","") +//BUILTIN(__builtin_ia32_pcmpistrio128, "iV16cV16cIc","") +//BUILTIN(__builtin_ia32_pcmpistris128, "iV16cV16cIc","") +//BUILTIN(__builtin_ia32_pcmpistriz128, "iV16cV16cIc","") +//BUILTIN(__builtin_ia32_pcmpestria128, "iV16ciV16ciIc","") +//BUILTIN(__builtin_ia32_pcmpestric128, "iV16ciV16ciIc","") +//BUILTIN(__builtin_ia32_pcmpestrio128, "iV16ciV16ciic","") +//BUILTIN(__builtin_ia32_pcmpestris128, "iV16ciV16ciIc","") +//BUILTIN(__builtin_ia32_pcmpestriz128, "iV16ciV16ciIc","") BUILTIN(__builtin_ia32_pcmpgtq, "V2LLiV2LLiV2LLi", "") diff --git a/lib/Headers/smmintrin.h b/lib/Headers/smmintrin.h index 2b8b321906..aa0c031d86 100644 --- a/lib/Headers/smmintrin.h +++ b/lib/Headers/smmintrin.h @@ -375,16 +375,16 @@ _mm_packus_epi32(__m128i __V1, __m128i __V2) __builtin_ia32_pcmpestri128((A), (LA), (B), (LB), (M)) /* SSE4.2 Packed Comparison Intrinsics and EFlag Reading. */ -#define _mm_cmpistra(A, LA, B, LB, M) \ - __builtin_ia32_pcmpistria128((A), (LA), (B), (LB), (M)) -#define _mm_cmpistrc(A, LA, B, LB, M) \ - __builtin_ia32_pcmpistric128((A), (LA), (B), (LB), (M)) -#define _mm_cmpistro(A, LA, B, LB, M) \ - __builtin_ia32_pcmpistrio128((A), (LA), (B), (LB), (M)) -#define _mm_cmpistrs(A, LA, B, LB, M) \ - __builtin_ia32_pcmpistris128((A), (LA), (B), (LB), (M)) -#define _mm_cmpistrz(A, LA, B, LB, M) \ - __builtin_ia32_pcmpistriz128((A), (LA), (B), (LB), (M)) +#define _mm_cmpistra(A, B, M) \ + __builtin_ia32_pcmpistria128((A), (B), (M)) +#define _mm_cmpistrc(A, B, M) \ + __builtin_ia32_pcmpistric128((A), (B), (M)) +#define _mm_cmpistro(A, B, M) \ + __builtin_ia32_pcmpistrio128((A), (B), (M)) +#define _mm_cmpistrs(A, B, M) \ + __builtin_ia32_pcmpistris128((A), (B), (M)) +#define _mm_cmpistrz(A, B, M) \ + __builtin_ia32_pcmpistriz128((A), (B), (M)) #define _mm_cmpestra(A, LA, B, LB, M) \ __builtin_ia32_pcmpestria128((A), (LA), (B), (LB), (M))