summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2015-01-19 01:18:19 +0000
committerCraig Topper <craig.topper@gmail.com>2015-01-19 01:18:19 +0000
commitf557b09f142c69c725a55b750bb8e4382657fc9c (patch)
treefa466cee2d925007dae17d9318f95603ae80420e /clang/lib
parent78ae1c92cae9faf4a03bb1357ab6a46cb9ff61ff (diff)
downloadbcm5719-llvm-f557b09f142c69c725a55b750bb8e4382657fc9c.tar.gz
bcm5719-llvm-f557b09f142c69c725a55b750bb8e4382657fc9c.zip
[x86] Mark that the AVX-512 cmpps/cmppd builtins need an ICE for the comparison immediate. This requires converting to a macro in the header file.
llvm-svn: 226421
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Headers/avx512fintrin.h29
1 files changed, 13 insertions, 16 deletions
diff --git a/clang/lib/Headers/avx512fintrin.h b/clang/lib/Headers/avx512fintrin.h
index 4b19590ebb1..e6f128d3ad7 100644
--- a/clang/lib/Headers/avx512fintrin.h
+++ b/clang/lib/Headers/avx512fintrin.h
@@ -669,22 +669,19 @@ _mm512_mask_blend_epi32(__mmask16 __U, __m512i __A, __m512i __W)
/* Compare */
-static __inline __mmask16 __attribute__ ((__always_inline__, __nodebug__))
-_mm512_cmp_ps_mask(__m512 a, __m512 b, const int p)
-{
- return (__mmask16) __builtin_ia32_cmpps512_mask ((__v16sf) a,
- (__v16sf) b, p, (__mmask16) -1,
- _MM_FROUND_CUR_DIRECTION);
-}
-
-static __inline __mmask8 __attribute__ ((__always_inline__, __nodebug__))
-_mm512_cmp_pd_mask(__m512d __X, __m512d __Y, const int __P)
-{
- return (__mmask8) __builtin_ia32_cmppd512_mask ((__v8df) __X,
- (__v8df) __Y, __P,
- (__mmask8) -1,
- _MM_FROUND_CUR_DIRECTION);
-}
+#define _mm512_cmp_ps_mask(a, b, p) __extension__ ({ \
+ __m512 __a = (a); \
+ __m512 __b = (b); \
+ (__mmask16)__builtin_ia32_cmpps512_mask((__v16sf)__a, (__v16sf)__b, (p), \
+ (__mmask16)-1, \
+ _MM_FROUND_CUR_DIRECTION); })
+
+#define _mm512_cmp_pd_mask(a, b, p) __extension__ ({ \
+ __m512 __a = (a); \
+ __m512 __b = (b); \
+ (__mmask8)__builtin_ia32_cmppd512_mask((__v8df)__a, (__v8df)__b, (p), \
+ (__mmask8)-1, \
+ _MM_FROUND_CUR_DIRECTION); })
/* Conversion */
OpenPOWER on IntegriCloud