summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2018-06-13 07:19:28 +0000
committerCraig Topper <craig.topper@intel.com>2018-06-13 07:19:28 +0000
commit2527c378c67bc274c0a93bb0fabbbabd95405699 (patch)
tree07f2e72e3915bd5853bc552bf299ea3c0ec1fd16 /clang/test
parent3829d258ee1824dd9ad49b4b2b45cb72478bfa96 (diff)
downloadbcm5719-llvm-2527c378c67bc274c0a93bb0fabbbabd95405699.tar.gz
bcm5719-llvm-2527c378c67bc274c0a93bb0fabbbabd95405699.zip
[X86] Remove masking from avx512vbmi2 concat and shift by immediate builtins. Use select builtins instead.
llvm-svn: 334577
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/avx512vbmi2-builtins.c48
-rw-r--r--clang/test/CodeGen/avx512vlvbmi2-builtins.c96
-rw-r--r--clang/test/Sema/builtins-x86.c72
3 files changed, 126 insertions, 90 deletions
diff --git a/clang/test/CodeGen/avx512vbmi2-builtins.c b/clang/test/CodeGen/avx512vbmi2-builtins.c
index 6d20f9d2ee9..db4abdba457 100644
--- a/clang/test/CodeGen/avx512vbmi2-builtins.c
+++ b/clang/test/CodeGen/avx512vbmi2-builtins.c
@@ -88,109 +88,121 @@ __m512i test_mm512_maskz_expandloadu_epi8(__mmask64 __U, void const* __P) {
__m512i test_mm512_mask_shldi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_mask_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.512
+ // CHECK: @llvm.x86.avx512.vpshld.q.512
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return _mm512_mask_shldi_epi64(__S, __U, __A, __B, 127);
}
__m512i test_mm512_maskz_shldi_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_maskz_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.512
+ // CHECK: @llvm.x86.avx512.vpshld.q.512
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return _mm512_maskz_shldi_epi64(__U, __A, __B, 63);
}
__m512i test_mm512_shldi_epi64(__m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.512
+ // CHECK: @llvm.x86.avx512.vpshld.q.512
return _mm512_shldi_epi64(__A, __B, 31);
}
__m512i test_mm512_mask_shldi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_mask_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.512
+ // CHECK: @llvm.x86.avx512.vpshld.d.512
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_mask_shldi_epi32(__S, __U, __A, __B, 127);
}
__m512i test_mm512_maskz_shldi_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_maskz_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.512
+ // CHECK: @llvm.x86.avx512.vpshld.d.512
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_maskz_shldi_epi32(__U, __A, __B, 63);
}
__m512i test_mm512_shldi_epi32(__m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.512
+ // CHECK: @llvm.x86.avx512.vpshld.d.512
return _mm512_shldi_epi32(__A, __B, 31);
}
__m512i test_mm512_mask_shldi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_mask_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.512
+ // CHECK: @llvm.x86.avx512.vpshld.w.512
+ // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_mask_shldi_epi16(__S, __U, __A, __B, 127);
}
__m512i test_mm512_maskz_shldi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_maskz_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.512
+ // CHECK: @llvm.x86.avx512.vpshld.w.512
+ // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_maskz_shldi_epi16(__U, __A, __B, 63);
}
__m512i test_mm512_shldi_epi16(__m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.512
+ // CHECK: @llvm.x86.avx512.vpshld.w.512
return _mm512_shldi_epi16(__A, __B, 31);
}
__m512i test_mm512_mask_shrdi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_mask_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.512
+ // CHECK: @llvm.x86.avx512.vpshrd.q.512
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return _mm512_mask_shrdi_epi64(__S, __U, __A, __B, 127);
}
__m512i test_mm512_maskz_shrdi_epi64(__mmask8 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.512
+ // CHECK: @llvm.x86.avx512.vpshrd.q.512
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return _mm512_maskz_shrdi_epi64(__U, __A, __B, 63);
}
__m512i test_mm512_shrdi_epi64(__m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.512
+ // CHECK: @llvm.x86.avx512.vpshrd.q.512
return _mm512_shrdi_epi64(__A, __B, 31);
}
__m512i test_mm512_mask_shrdi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_mask_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.512
+ // CHECK: @llvm.x86.avx512.vpshrd.d.512
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_mask_shrdi_epi32(__S, __U, __A, __B, 127);
}
__m512i test_mm512_maskz_shrdi_epi32(__mmask16 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.512
+ // CHECK: @llvm.x86.avx512.vpshrd.d.512
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_maskz_shrdi_epi32(__U, __A, __B, 63);
}
__m512i test_mm512_shrdi_epi32(__m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.512
+ // CHECK: @llvm.x86.avx512.vpshrd.d.512
return _mm512_shrdi_epi32(__A, __B, 31);
}
__m512i test_mm512_mask_shrdi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_mask_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.512
+ // CHECK: @llvm.x86.avx512.vpshrd.w.512
+ // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_mask_shrdi_epi16(__S, __U, __A, __B, 127);
}
__m512i test_mm512_maskz_shrdi_epi16(__mmask32 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_maskz_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.512
+ // CHECK: @llvm.x86.avx512.vpshrd.w.512
+ // CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_maskz_shrdi_epi16(__U, __A, __B, 63);
}
__m512i test_mm512_shrdi_epi16(__m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.512
+ // CHECK: @llvm.x86.avx512.vpshrd.w.512
return _mm512_shrdi_epi16(__A, __B, 31);
}
diff --git a/clang/test/CodeGen/avx512vlvbmi2-builtins.c b/clang/test/CodeGen/avx512vlvbmi2-builtins.c
index 8ae0ab7da75..aceb97616d2 100644
--- a/clang/test/CodeGen/avx512vlvbmi2-builtins.c
+++ b/clang/test/CodeGen/avx512vlvbmi2-builtins.c
@@ -172,217 +172,241 @@ __m256i test_mm256_maskz_expandloadu_epi8(__mmask32 __U, void const* __P) {
__m256i test_mm256_mask_shldi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.256
+ // CHECK: @llvm.x86.avx512.vpshld.q.256
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return _mm256_mask_shldi_epi64(__S, __U, __A, __B, 127);
}
__m256i test_mm256_maskz_shldi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.256
+ // CHECK: @llvm.x86.avx512.vpshld.q.256
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return _mm256_maskz_shldi_epi64(__U, __A, __B, 63);
}
__m256i test_mm256_shldi_epi64(__m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.256
+ // CHECK: @llvm.x86.avx512.vpshld.q.256
return _mm256_shldi_epi64(__A, __B, 31);
}
__m128i test_mm_mask_shldi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.128
+ // CHECK: @llvm.x86.avx512.vpshld.q.128
+ // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_mask_shldi_epi64(__S, __U, __A, __B, 127);
}
__m128i test_mm_maskz_shldi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.128
+ // CHECK: @llvm.x86.avx512.vpshld.q.128
+ // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_maskz_shldi_epi64(__U, __A, __B, 63);
}
__m128i test_mm_shldi_epi64(__m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_shldi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshld.q.128
+ // CHECK: @llvm.x86.avx512.vpshld.q.128
return _mm_shldi_epi64(__A, __B, 31);
}
__m256i test_mm256_mask_shldi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.256
+ // CHECK: @llvm.x86.avx512.vpshld.d.256
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_mask_shldi_epi32(__S, __U, __A, __B, 127);
}
__m256i test_mm256_maskz_shldi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.256
+ // CHECK: @llvm.x86.avx512.vpshld.d.256
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_maskz_shldi_epi32(__U, __A, __B, 63);
}
__m256i test_mm256_shldi_epi32(__m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.256
+ // CHECK: @llvm.x86.avx512.vpshld.d.256
return _mm256_shldi_epi32(__A, __B, 31);
}
__m128i test_mm_mask_shldi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.128
+ // CHECK: @llvm.x86.avx512.vpshld.d.128
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_mask_shldi_epi32(__S, __U, __A, __B, 127);
}
__m128i test_mm_maskz_shldi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.128
+ // CHECK: @llvm.x86.avx512.vpshld.d.128
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_maskz_shldi_epi32(__U, __A, __B, 63);
}
__m128i test_mm_shldi_epi32(__m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_shldi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshld.d.128
+ // CHECK: @llvm.x86.avx512.vpshld.d.128
return _mm_shldi_epi32(__A, __B, 31);
}
__m256i test_mm256_mask_shldi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.256
+ // CHECK: @llvm.x86.avx512.vpshld.w.256
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_shldi_epi16(__S, __U, __A, __B, 127);
}
__m256i test_mm256_maskz_shldi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.256
+ // CHECK: @llvm.x86.avx512.vpshld.w.256
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_shldi_epi16(__U, __A, __B, 63);
}
__m256i test_mm256_shldi_epi16(__m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.256
+ // CHECK: @llvm.x86.avx512.vpshld.w.256
return _mm256_shldi_epi16(__A, __B, 31);
}
__m128i test_mm_mask_shldi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.128
+ // CHECK: @llvm.x86.avx512.vpshld.w.128
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_shldi_epi16(__S, __U, __A, __B, 127);
}
__m128i test_mm_maskz_shldi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.128
+ // CHECK: @llvm.x86.avx512.vpshld.w.128
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_shldi_epi16(__U, __A, __B, 63);
}
__m128i test_mm_shldi_epi16(__m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_shldi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshld.w.128
+ // CHECK: @llvm.x86.avx512.vpshld.w.128
return _mm_shldi_epi16(__A, __B, 31);
}
__m256i test_mm256_mask_shrdi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.256
+ // CHECK: @llvm.x86.avx512.vpshrd.q.256
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return _mm256_mask_shrdi_epi64(__S, __U, __A, __B, 127);
}
__m256i test_mm256_maskz_shrdi_epi64(__mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.256
+ // CHECK: @llvm.x86.avx512.vpshrd.q.256
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return _mm256_maskz_shrdi_epi64(__U, __A, __B, 63);
}
__m256i test_mm256_shrdi_epi64(__m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.256
+ // CHECK: @llvm.x86.avx512.vpshrd.q.256
return _mm256_shrdi_epi64(__A, __B, 31);
}
__m128i test_mm_mask_shrdi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.128
+ // CHECK: @llvm.x86.avx512.vpshrd.q.128
+ // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_mask_shrdi_epi64(__S, __U, __A, __B, 127);
}
__m128i test_mm_maskz_shrdi_epi64(__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.128
+ // CHECK: @llvm.x86.avx512.vpshrd.q.128
+ // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return _mm_maskz_shrdi_epi64(__U, __A, __B, 63);
}
__m128i test_mm_shrdi_epi64(__m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_shrdi_epi64
- // CHECK: @llvm.x86.avx512.mask.vpshrd.q.128
+ // CHECK: @llvm.x86.avx512.vpshrd.q.128
return _mm_shrdi_epi64(__A, __B, 31);
}
__m256i test_mm256_mask_shrdi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.256
+ // CHECK: @llvm.x86.avx512.vpshrd.d.256
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_mask_shrdi_epi32(__S, __U, __A, __B, 127);
}
__m256i test_mm256_maskz_shrdi_epi32(__mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.256
+ // CHECK: @llvm.x86.avx512.vpshrd.d.256
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_maskz_shrdi_epi32(__U, __A, __B, 63);
}
__m256i test_mm256_shrdi_epi32(__m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.256
+ // CHECK: @llvm.x86.avx512.vpshrd.d.256
return _mm256_shrdi_epi32(__A, __B, 31);
}
__m128i test_mm_mask_shrdi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.128
+ // CHECK: @llvm.x86.avx512.vpshrd.d.128
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_mask_shrdi_epi32(__S, __U, __A, __B, 127);
}
__m128i test_mm_maskz_shrdi_epi32(__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.128
+ // CHECK: @llvm.x86.avx512.vpshrd.d.128
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_maskz_shrdi_epi32(__U, __A, __B, 63);
}
__m128i test_mm_shrdi_epi32(__m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_shrdi_epi32
- // CHECK: @llvm.x86.avx512.mask.vpshrd.d.128
+ // CHECK: @llvm.x86.avx512.vpshrd.d.128
return _mm_shrdi_epi32(__A, __B, 31);
}
__m256i test_mm256_mask_shrdi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.256
+ // CHECK: @llvm.x86.avx512.vpshrd.w.256
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_shrdi_epi16(__S, __U, __A, __B, 127);
}
__m256i test_mm256_maskz_shrdi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.256
+ // CHECK: @llvm.x86.avx512.vpshrd.w.256
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_shrdi_epi16(__U, __A, __B, 63);
}
__m256i test_mm256_shrdi_epi16(__m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.256
+ // CHECK: @llvm.x86.avx512.vpshrd.w.256
return _mm256_shrdi_epi16(__A, __B, 31);
}
__m128i test_mm_mask_shrdi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.128
+ // CHECK: @llvm.x86.avx512.vpshrd.w.128
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_shrdi_epi16(__S, __U, __A, __B, 127);
}
__m128i test_mm_maskz_shrdi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.128
+ // CHECK: @llvm.x86.avx512.vpshrd.w.128
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_shrdi_epi16(__U, __A, __B, 63);
}
__m128i test_mm_shrdi_epi16(__m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_shrdi_epi16
- // CHECK: @llvm.x86.avx512.mask.vpshrd.w.128
+ // CHECK: @llvm.x86.avx512.vpshrd.w.128
return _mm_shrdi_epi16(__A, __B, 31);
}
diff --git a/clang/test/Sema/builtins-x86.c b/clang/test/Sema/builtins-x86.c
index ad9e00779e8..e96caf2d797 100644
--- a/clang/test/Sema/builtins-x86.c
+++ b/clang/test/Sema/builtins-x86.c
@@ -93,74 +93,74 @@ __m512 _mm512_mask_prefetch_i32gather_ps_2(__m512i index, __mmask16 mask, int co
return __builtin_ia32_gatherpfdps(mask, index, addr, 1, 1); // expected-error {{argument should be a value from 2 to 3}}
}
-__m512i test_mm512_mask_shldi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
- return __builtin_ia32_vpshldq512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m512i test_mm512_shldi_epi64(__m512i __A, __m512i __B) {
+ return __builtin_ia32_vpshldq512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m512i test_mm512_mask_shldi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
- return __builtin_ia32_vpshldd512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m512i test_mm512_shldi_epi32(__m512i __A, __m512i __B) {
+ return __builtin_ia32_vpshldd512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m512i test_mm512_mask_shldi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
- return __builtin_ia32_vpshldw512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m512i test_mm512_shldi_epi16(__m512i __A, __m512i __B) {
+ return __builtin_ia32_vpshldw512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m512i test_mm512_mask_shrdi_epi64(__m512i __S, __mmask8 __U, __m512i __A, __m512i __B) {
- return __builtin_ia32_vpshrdq512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m512i test_mm512_shrdi_epi64(__m512i __A, __m512i __B) {
+ return __builtin_ia32_vpshrdq512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m512i test_mm512_mask_shrdi_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
- return __builtin_ia32_vpshrdd512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m512i test_mm512_shrdi_epi32(__m512i __A, __m512i __B) {
+ return __builtin_ia32_vpshrdd512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m512i test_mm512_mask_shrdi_epi16(__m512i __S, __mmask32 __U, __m512i __A, __m512i __B) {
- return __builtin_ia32_vpshrdw512_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m512i test_mm512_shrdi_epi16(__m512i __A, __m512i __B) {
+ return __builtin_ia32_vpshrdw512(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m256i test_mm256_mask_shldi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
- return __builtin_ia32_vpshldq256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m256i test_mm256_shldi_epi64(__m256i __A, __m256i __B) {
+ return __builtin_ia32_vpshldq256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m128i test_mm128_mask_shldi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
- return __builtin_ia32_vpshldq128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m128i test_mm128_shldi_epi64( __m128i __A, __m128i __B) {
+ return __builtin_ia32_vpshldq128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m256i test_mm256_mask_shldi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
- return __builtin_ia32_vpshldd256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m256i test_mm256_shldi_epi32(__m256i __A, __m256i __B) {
+ return __builtin_ia32_vpshldd256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m128i test_mm128_mask_shldi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
- return __builtin_ia32_vpshldd128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m128i test_mm128_shldi_epi32(__m128i __A, __m128i __B) {
+ return __builtin_ia32_vpshldd128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m256i test_mm256_mask_shldi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
- return __builtin_ia32_vpshldw256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m256i test_mm256_shldi_epi16( __m256i __A, __m256i __B) {
+ return __builtin_ia32_vpshldw256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m128i test_mm128_mask_shldi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
- return __builtin_ia32_vpshldw128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m128i test_mm128_shldi_epi16(__m128i __A, __m128i __B) {
+ return __builtin_ia32_vpshldw128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m256i test_mm256_mask_shrdi_epi64(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
- return __builtin_ia32_vpshrdq256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m256i test_mm256_shrdi_epi64(__m256i __A, __m256i __B) {
+ return __builtin_ia32_vpshrdq256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m128i test_mm128_mask_shrdi_epi64(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
- return __builtin_ia32_vpshrdq128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m128i test_mm128_shrdi_epi64(__m128i __A, __m128i __B) {
+ return __builtin_ia32_vpshrdq128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m256i test_mm256_mask_shrdi_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
- return __builtin_ia32_vpshrdd256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m256i test_mm256_shrdi_epi32(__m256i __A, __m256i __B) {
+ return __builtin_ia32_vpshrdd256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m128i test_mm128_mask_shrdi_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
- return __builtin_ia32_vpshrdd128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m128i test_mm128_shrdi_epi32(__m128i __A, __m128i __B) {
+ return __builtin_ia32_vpshrdd128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m256i test_mm256_mask_shrdi_epi16(__m256i __S, __mmask16 __U, __m256i __A, __m256i __B) {
- return __builtin_ia32_vpshrdw256_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m256i test_mm256_shrdi_epi16(__m256i __A, __m256i __B) {
+ return __builtin_ia32_vpshrdw256(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
-__m128i test_mm128_mask_shrdi_epi16(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
- return __builtin_ia32_vpshrdw128_mask(__A, __B, 1024, __S, __U); // expected-error {{argument should be a value from 0 to 255}}
+__m128i test_mm128_shrdi_epi16(__m128i __A, __m128i __B) {
+ return __builtin_ia32_vpshrdw128(__A, __B, 1024); // expected-error {{argument should be a value from 0 to 255}}
}
OpenPOWER on IntegriCloud