diff options
author | Craig Topper <craig.topper@intel.com> | 2018-05-20 23:34:10 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@intel.com> | 2018-05-20 23:34:10 +0000 |
commit | 55b40673505b8786a77d55f6541c944ba8238f4c (patch) | |
tree | e21c9ba2d24ab1109720694eb8d0ed6093f0cda3 /clang/test | |
parent | e4c045b7df35e3280b0747d2e166ba22be4e4b1c (diff) | |
download | bcm5719-llvm-55b40673505b8786a77d55f6541c944ba8238f4c.tar.gz bcm5719-llvm-55b40673505b8786a77d55f6541c944ba8238f4c.zip |
[X86] Remove mask arguments from permvar builtins/intrinsics. Use a select in IR instead.
Someday maybe we'll use selects for all the builtins.
llvm-svn: 332825
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CodeGen/avx512bw-builtins.c | 8 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512f-builtins.c | 32 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vbmi-builtins.c | 8 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vbmivl-builtin.c | 16 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 14 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vlbw-builtins.c | 16 |
6 files changed, 59 insertions, 35 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c index ee2ae6ad294..d5c19939980 100644 --- a/clang/test/CodeGen/avx512bw-builtins.c +++ b/clang/test/CodeGen/avx512bw-builtins.c @@ -1890,19 +1890,21 @@ __m512i test_mm512_maskz_set1_epi16(__mmask32 __M, short __A) { } __m512i test_mm512_permutexvar_epi16(__m512i __A, __m512i __B) { // CHECK-LABEL: @test_mm512_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.512 + // CHECK: @llvm.x86.avx512.permvar.hi.512 return _mm512_permutexvar_epi16(__A, __B); } __m512i test_mm512_maskz_permutexvar_epi16(__mmask32 __M, __m512i __A, __m512i __B) { // CHECK-LABEL: @test_mm512_maskz_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.512 + // CHECK: @llvm.x86.avx512.permvar.hi.512 + // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} return _mm512_maskz_permutexvar_epi16(__M, __A, __B); } __m512i test_mm512_mask_permutexvar_epi16(__m512i __W, __mmask32 __M, __m512i __A, __m512i __B) { // CHECK-LABEL: @test_mm512_mask_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.512 + // CHECK: @llvm.x86.avx512.permvar.hi.512 + // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}} return _mm512_mask_permutexvar_epi16(__W, __M, __A, __B); } __m512i test_mm512_alignr_epi8(__m512i __A,__m512i __B){ diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c index 0bff5c8dbd4..a52adfd2691 100644 --- a/clang/test/CodeGen/avx512f-builtins.c +++ b/clang/test/CodeGen/avx512f-builtins.c @@ -6180,73 +6180,81 @@ __m512i test_mm512_maskz_permutex_epi64(__mmask8 __M, __m512i __X) { __m512d test_mm512_permutexvar_pd(__m512i __X, __m512d __Y) { // CHECK-LABEL: @test_mm512_permutexvar_pd - // CHECK: @llvm.x86.avx512.mask.permvar.df.512 + // CHECK: @llvm.x86.avx512.permvar.df.512 return _mm512_permutexvar_pd(__X, __Y); } __m512d test_mm512_mask_permutexvar_pd(__m512d __W, __mmask8 __U, __m512i __X, __m512d __Y) { // CHECK-LABEL: @test_mm512_mask_permutexvar_pd - // CHECK: @llvm.x86.avx512.mask.permvar.df.512 + // CHECK: @llvm.x86.avx512.permvar.df.512 + // CHECK: select <8 x i1> %{{.*}}, <8 x double> %{{.*}}, <8 x double> %{{.*}} return _mm512_mask_permutexvar_pd(__W, __U, __X, __Y); } __m512d test_mm512_maskz_permutexvar_pd(__mmask8 __U, __m512i __X, __m512d __Y) { // CHECK-LABEL: @test_mm512_maskz_permutexvar_pd - // CHECK: @llvm.x86.avx512.mask.permvar.df.512 + // CHECK: @llvm.x86.avx512.permvar.df.512 + // CHECK: select <8 x i1> %{{.*}}, <8 x double> %{{.*}}, <8 x double> %{{.*}} return _mm512_maskz_permutexvar_pd(__U, __X, __Y); } __m512i test_mm512_maskz_permutexvar_epi64(__mmask8 __M, __m512i __X, __m512i __Y) { // CHECK-LABEL: @test_mm512_maskz_permutexvar_epi64 - // CHECK: @llvm.x86.avx512.mask.permvar.di.512 + // CHECK: @llvm.x86.avx512.permvar.di.512 + // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}} return _mm512_maskz_permutexvar_epi64(__M, __X, __Y); } __m512i test_mm512_permutexvar_epi64(__m512i __X, __m512i __Y) { // CHECK-LABEL: @test_mm512_permutexvar_epi64 - // CHECK: @llvm.x86.avx512.mask.permvar.di.512 + // CHECK: @llvm.x86.avx512.permvar.di.512 return _mm512_permutexvar_epi64(__X, __Y); } __m512i test_mm512_mask_permutexvar_epi64(__m512i __W, __mmask8 __M, __m512i __X, __m512i __Y) { // CHECK-LABEL: @test_mm512_mask_permutexvar_epi64 - // CHECK: @llvm.x86.avx512.mask.permvar.di.512 + // CHECK: @llvm.x86.avx512.permvar.di.512 + // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}} return _mm512_mask_permutexvar_epi64(__W, __M, __X, __Y); } __m512 test_mm512_permutexvar_ps(__m512i __X, __m512 __Y) { // CHECK-LABEL: @test_mm512_permutexvar_ps - // CHECK: @llvm.x86.avx512.mask.permvar.sf.512 + // CHECK: @llvm.x86.avx512.permvar.sf.512 return _mm512_permutexvar_ps(__X, __Y); } __m512 test_mm512_mask_permutexvar_ps(__m512 __W, __mmask16 __U, __m512i __X, __m512 __Y) { // CHECK-LABEL: @test_mm512_mask_permutexvar_ps - // CHECK: @llvm.x86.avx512.mask.permvar.sf.512 + // CHECK: @llvm.x86.avx512.permvar.sf.512 + // CHECK: select <16 x i1> %{{.*}}, <16 x float> %{{.*}}, <16 x float> %{{.*}} return _mm512_mask_permutexvar_ps(__W, __U, __X, __Y); } __m512 test_mm512_maskz_permutexvar_ps(__mmask16 __U, __m512i __X, __m512 __Y) { // CHECK-LABEL: @test_mm512_maskz_permutexvar_ps - // CHECK: @llvm.x86.avx512.mask.permvar.sf.512 + // CHECK: @llvm.x86.avx512.permvar.sf.512 + // CHECK: select <16 x i1> %{{.*}}, <16 x float> %{{.*}}, <16 x float> %{{.*}} return _mm512_maskz_permutexvar_ps(__U, __X, __Y); } __m512i test_mm512_maskz_permutexvar_epi32(__mmask16 __M, __m512i __X, __m512i __Y) { // CHECK-LABEL: @test_mm512_maskz_permutexvar_epi32 - // CHECK: @llvm.x86.avx512.mask.permvar.si.512 + // CHECK: @llvm.x86.avx512.permvar.si.512 + // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}} return _mm512_maskz_permutexvar_epi32(__M, __X, __Y); } __m512i test_mm512_permutexvar_epi32(__m512i __X, __m512i __Y) { // CHECK-LABEL: @test_mm512_permutexvar_epi32 - // CHECK: @llvm.x86.avx512.mask.permvar.si.512 + // CHECK: @llvm.x86.avx512.permvar.si.512 return _mm512_permutexvar_epi32(__X, __Y); } __m512i test_mm512_mask_permutexvar_epi32(__m512i __W, __mmask16 __M, __m512i __X, __m512i __Y) { // CHECK-LABEL: @test_mm512_mask_permutexvar_epi32 - // CHECK: @llvm.x86.avx512.mask.permvar.si.512 + // CHECK: @llvm.x86.avx512.permvar.si.512 + // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}} return _mm512_mask_permutexvar_epi32(__W, __M, __X, __Y); } diff --git a/clang/test/CodeGen/avx512vbmi-builtins.c b/clang/test/CodeGen/avx512vbmi-builtins.c index 0816bce3a6d..d670f3f8abf 100644 --- a/clang/test/CodeGen/avx512vbmi-builtins.c +++ b/clang/test/CodeGen/avx512vbmi-builtins.c @@ -29,19 +29,21 @@ __m512i test_mm512_maskz_permutex2var_epi8(__mmask64 __U, __m512i __A, __m512i _ __m512i test_mm512_permutexvar_epi8(__m512i __A, __m512i __B) { // CHECK-LABEL: @test_mm512_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.512 + // CHECK: @llvm.x86.avx512.permvar.qi.512 return _mm512_permutexvar_epi8(__A, __B); } __m512i test_mm512_maskz_permutexvar_epi8(__mmask64 __M, __m512i __A, __m512i __B) { // CHECK-LABEL: @test_mm512_maskz_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.512 + // CHECK: @llvm.x86.avx512.permvar.qi.512 + // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}} return _mm512_maskz_permutexvar_epi8(__M, __A, __B); } __m512i test_mm512_mask_permutexvar_epi8(__m512i __W, __mmask64 __M, __m512i __A, __m512i __B) { // CHECK-LABEL: @test_mm512_mask_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.512 + // CHECK: @llvm.x86.avx512.permvar.qi.512 + // CHECK: select <64 x i1> %{{.*}}, <64 x i8> %{{.*}}, <64 x i8> %{{.*}} return _mm512_mask_permutexvar_epi8(__W, __M, __A, __B); } diff --git a/clang/test/CodeGen/avx512vbmivl-builtin.c b/clang/test/CodeGen/avx512vbmivl-builtin.c index b114720758a..05aa626fbda 100644 --- a/clang/test/CodeGen/avx512vbmivl-builtin.c +++ b/clang/test/CodeGen/avx512vbmivl-builtin.c @@ -5,37 +5,41 @@ __m128i test_mm_permutexvar_epi8(__m128i __A, __m128i __B) { // CHECK-LABEL: @test_mm_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.128 + // CHECK: @llvm.x86.avx512.permvar.qi.128 return _mm_permutexvar_epi8(__A, __B); } __m128i test_mm_maskz_permutexvar_epi8(__mmask16 __M, __m128i __A, __m128i __B) { // CHECK-LABEL: @test_mm_maskz_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.128 + // CHECK: @llvm.x86.avx512.permvar.qi.128 + // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}} return _mm_maskz_permutexvar_epi8(__M, __A, __B); } __m128i test_mm_mask_permutexvar_epi8(__m128i __W, __mmask16 __M, __m128i __A, __m128i __B) { // CHECK-LABEL: @test_mm_mask_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.128 + // CHECK: @llvm.x86.avx512.permvar.qi.128 + // CHECK: select <16 x i1> %{{.*}}, <16 x i8> %{{.*}}, <16 x i8> %{{.*}} return _mm_mask_permutexvar_epi8(__W, __M, __A, __B); } __m256i test_mm256_permutexvar_epi8(__m256i __A, __m256i __B) { // CHECK-LABEL: @test_mm256_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.256 + // CHECK: @llvm.x86.avx512.permvar.qi.256 return _mm256_permutexvar_epi8(__A, __B); } __m256i test_mm256_maskz_permutexvar_epi8(__mmask32 __M, __m256i __A, __m256i __B) { // CHECK-LABEL: @test_mm256_maskz_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.256 + // CHECK: @llvm.x86.avx512.permvar.qi.256 + // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}} return _mm256_maskz_permutexvar_epi8(__M, __A, __B); } __m256i test_mm256_mask_permutexvar_epi8(__m256i __W, __mmask32 __M, __m256i __A, __m256i __B) { // CHECK-LABEL: @test_mm256_mask_permutexvar_epi8 - // CHECK: @llvm.x86.avx512.mask.permvar.qi.256 + // CHECK: @llvm.x86.avx512.permvar.qi.256 + // CHECK: select <32 x i1> %{{.*}}, <32 x i8> %{{.*}}, <32 x i8> %{{.*}} return _mm256_mask_permutexvar_epi8(__W, __M, __A, __B); } diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c index 27c0993b9b3..7771a49c9bf 100644 --- a/clang/test/CodeGen/avx512vl-builtins.c +++ b/clang/test/CodeGen/avx512vl-builtins.c @@ -7035,31 +7035,35 @@ __m256i test_mm256_maskz_permutex_epi64(__mmask8 __M, __m256i __X) { __m256d test_mm256_permutexvar_pd(__m256i __X, __m256d __Y) { // CHECK-LABEL: @test_mm256_permutexvar_pd - // CHECK: @llvm.x86.avx512.mask.permvar.df.256 + // CHECK: @llvm.x86.avx512.permvar.df.256 return _mm256_permutexvar_pd(__X, __Y); } __m256d test_mm256_mask_permutexvar_pd(__m256d __W, __mmask8 __U, __m256i __X, __m256d __Y) { // CHECK-LABEL: @test_mm256_mask_permutexvar_pd - // CHECK: @llvm.x86.avx512.mask.permvar.df.256 + // CHECK: @llvm.x86.avx512.permvar.df.256 + // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} return _mm256_mask_permutexvar_pd(__W, __U, __X, __Y); } __m256d test_mm256_maskz_permutexvar_pd(__mmask8 __U, __m256i __X, __m256d __Y) { // CHECK-LABEL: @test_mm256_maskz_permutexvar_pd - // CHECK: @llvm.x86.avx512.mask.permvar.df.256 + // CHECK: @llvm.x86.avx512.permvar.df.256 + // CHECK: select <4 x i1> %{{.*}}, <4 x double> %{{.*}}, <4 x double> %{{.*}} return _mm256_maskz_permutexvar_pd(__U, __X, __Y); } __m256i test_mm256_maskz_permutexvar_epi64(__mmask8 __M, __m256i __X, __m256i __Y) { // CHECK-LABEL: @test_mm256_maskz_permutexvar_epi64 - // CHECK: @llvm.x86.avx512.mask.permvar.di.256 + // CHECK: @llvm.x86.avx512.permvar.di.256 + // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}} return _mm256_maskz_permutexvar_epi64(__M, __X, __Y); } __m256i test_mm256_mask_permutexvar_epi64(__m256i __W, __mmask8 __M, __m256i __X, __m256i __Y) { // CHECK-LABEL: @test_mm256_mask_permutexvar_epi64 - // CHECK: @llvm.x86.avx512.mask.permvar.di.256 + // CHECK: @llvm.x86.avx512.permvar.di.256 + // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}} return _mm256_mask_permutexvar_epi64(__W, __M, __X, __Y); } diff --git a/clang/test/CodeGen/avx512vlbw-builtins.c b/clang/test/CodeGen/avx512vlbw-builtins.c index 1118b958e2e..8ca5fc95558 100644 --- a/clang/test/CodeGen/avx512vlbw-builtins.c +++ b/clang/test/CodeGen/avx512vlbw-builtins.c @@ -2891,37 +2891,41 @@ __m128i test_mm_maskz_set1_epi16(__mmask8 __M, short __A) { } __m128i test_mm_permutexvar_epi16(__m128i __A, __m128i __B) { // CHECK-LABEL: @test_mm_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.128 + // CHECK: @llvm.x86.avx512.permvar.hi.128 return _mm_permutexvar_epi16(__A, __B); } __m128i test_mm_maskz_permutexvar_epi16(__mmask8 __M, __m128i __A, __m128i __B) { // CHECK-LABEL: @test_mm_maskz_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.128 + // CHECK: @llvm.x86.avx512.permvar.hi.128 + // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} return _mm_maskz_permutexvar_epi16(__M, __A, __B); } __m128i test_mm_mask_permutexvar_epi16(__m128i __W, __mmask8 __M, __m128i __A, __m128i __B) { // CHECK-LABEL: @test_mm_mask_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.128 + // CHECK: @llvm.x86.avx512.permvar.hi.128 + // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}} return _mm_mask_permutexvar_epi16(__W, __M, __A, __B); } __m256i test_mm256_permutexvar_epi16(__m256i __A, __m256i __B) { // CHECK-LABEL: @test_mm256_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.256 + // CHECK: @llvm.x86.avx512.permvar.hi.256 return _mm256_permutexvar_epi16(__A, __B); } __m256i test_mm256_maskz_permutexvar_epi16(__mmask16 __M, __m256i __A, __m256i __B) { // CHECK-LABEL: @test_mm256_maskz_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.256 + // CHECK: @llvm.x86.avx512.permvar.hi.256 + // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} return _mm256_maskz_permutexvar_epi16(__M, __A, __B); } __m256i test_mm256_mask_permutexvar_epi16(__m256i __W, __mmask16 __M, __m256i __A, __m256i __B) { // CHECK-LABEL: @test_mm256_mask_permutexvar_epi16 - // CHECK: @llvm.x86.avx512.mask.permvar.hi.256 + // CHECK: @llvm.x86.avx512.permvar.hi.256 + // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}} return _mm256_mask_permutexvar_epi16(__W, __M, __A, __B); } __m128i test_mm_mask_alignr_epi8(__m128i __W, __mmask16 __U, __m128i __A, __m128i __B) { |