summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-05-20 23:34:10 +0000
committerCraig Topper <craig.topper@intel.com>2018-05-20 23:34:10 +0000
commit55b40673505b8786a77d55f6541c944ba8238f4c (patch)
treee21c9ba2d24ab1109720694eb8d0ed6093f0cda3 /clang/test
parente4c045b7df35e3280b0747d2e166ba22be4e4b1c (diff)
downloadbcm5719-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.c8
-rw-r--r--clang/test/CodeGen/avx512f-builtins.c32
-rw-r--r--clang/test/CodeGen/avx512vbmi-builtins.c8
-rw-r--r--clang/test/CodeGen/avx512vbmivl-builtin.c16
-rw-r--r--clang/test/CodeGen/avx512vl-builtins.c14
-rw-r--r--clang/test/CodeGen/avx512vlbw-builtins.c16
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) {
OpenPOWER on IntegriCloud