summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/avx512vlbw-builtins.c
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2016-10-29 19:02:14 +0000
committerCraig Topper <craig.topper@gmail.com>2016-10-29 19:02:14 +0000
commit4caf76bee2c528af8df21ee8d65d76c4f6ed1014 (patch)
treeff93cfd70d34c85d88701d89c111b9f1881f739d /clang/test/CodeGen/avx512vlbw-builtins.c
parent2eadf1b67eba0408fa417b420d365324d3157573 (diff)
downloadbcm5719-llvm-4caf76bee2c528af8df21ee8d65d76c4f6ed1014.tar.gz
bcm5719-llvm-4caf76bee2c528af8df21ee8d65d76c4f6ed1014.zip
[AVX-512] Remove 128/256-bit masked pmulhrsw/pmulhuw/pmulhw builtins and use unmasked builtins and select instead.
llvm-svn: 285505
Diffstat (limited to 'clang/test/CodeGen/avx512vlbw-builtins.c')
-rw-r--r--clang/test/CodeGen/avx512vlbw-builtins.c36
1 files changed, 24 insertions, 12 deletions
diff --git a/clang/test/CodeGen/avx512vlbw-builtins.c b/clang/test/CodeGen/avx512vlbw-builtins.c
index 692f1da2b00..3a8b00ba7ce 100644
--- a/clang/test/CodeGen/avx512vlbw-builtins.c
+++ b/clang/test/CodeGen/avx512vlbw-builtins.c
@@ -1746,73 +1746,85 @@ __m128i test_mm256_maskz_cvtepi16_epi8(__mmask16 __M, __m256i __A) {
__m128i test_mm_mask_mulhrs_epi16(__m128i __W, __mmask8 __U, __m128i __X, __m128i __Y) {
// CHECK-LABEL: @test_mm_mask_mulhrs_epi16
- // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.128
+ // CHECK: @llvm.x86.ssse3.pmul.hr.sw
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_mulhrs_epi16(__W, __U, __X, __Y);
}
__m128i test_mm_maskz_mulhrs_epi16(__mmask8 __U, __m128i __X, __m128i __Y) {
// CHECK-LABEL: @test_mm_maskz_mulhrs_epi16
- // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.128
+ // CHECK: @llvm.x86.ssse3.pmul.hr.sw
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_mulhrs_epi16(__U, __X, __Y);
}
__m256i test_mm256_mask_mulhrs_epi16(__m256i __W, __mmask16 __U, __m256i __X, __m256i __Y) {
// CHECK-LABEL: @test_mm256_mask_mulhrs_epi16
- // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.256
+ // CHECK: @llvm.x86.avx2.pmul.hr.sw
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_mulhrs_epi16(__W, __U, __X, __Y);
}
__m256i test_mm256_maskz_mulhrs_epi16(__mmask16 __U, __m256i __X, __m256i __Y) {
// CHECK-LABEL: @test_mm256_maskz_mulhrs_epi16
- // CHECK: @llvm.x86.avx512.mask.pmul.hr.sw.256
+ // CHECK: @llvm.x86.avx2.pmul.hr.sw
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_mulhrs_epi16(__U, __X, __Y);
}
__m128i test_mm_mask_mulhi_epu16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_mulhi_epu16
- // CHECK: @llvm.x86.avx512.mask.pmulhu.w.128
+ // CHECK: @llvm.x86.sse2.pmulhu.w
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_mulhi_epu16(__W, __U, __A, __B);
}
__m128i test_mm_maskz_mulhi_epu16(__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_mulhi_epu16
- // CHECK: @llvm.x86.avx512.mask.pmulhu.w.128
+ // CHECK: @llvm.x86.sse2.pmulhu.w
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_mulhi_epu16(__U, __A, __B);
}
__m256i test_mm256_mask_mulhi_epu16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_mulhi_epu16
- // CHECK: @llvm.x86.avx512.mask.pmulhu.w.256
+ // CHECK: @llvm.x86.avx2.pmulhu.w
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_mulhi_epu16(__W, __U, __A, __B);
}
__m256i test_mm256_maskz_mulhi_epu16(__mmask16 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_mulhi_epu16
- // CHECK: @llvm.x86.avx512.mask.pmulhu.w.256
+ // CHECK: @llvm.x86.avx2.pmulhu.w
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_mulhi_epu16(__U, __A, __B);
}
__m128i test_mm_mask_mulhi_epi16(__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_mulhi_epi16
- // CHECK: @llvm.x86.avx512.mask.pmulh.w.128
+ // CHECK: @llvm.x86.sse2.pmulh.w
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_mulhi_epi16(__W, __U, __A, __B);
}
__m128i test_mm_maskz_mulhi_epi16(__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_mulhi_epi16
- // CHECK: @llvm.x86.avx512.mask.pmulh.w.128
+ // CHECK: @llvm.x86.sse2.pmulh.w
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_mulhi_epi16(__U, __A, __B);
}
__m256i test_mm256_mask_mulhi_epi16(__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_mulhi_epi16
- // CHECK: @llvm.x86.avx512.mask.pmulh.w.256
+ // CHECK: @llvm.x86.avx2.pmulh.w
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_mulhi_epi16(__W, __U, __A, __B);
}
__m256i test_mm256_maskz_mulhi_epi16(__mmask16 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_mulhi_epi16
- // CHECK: @llvm.x86.avx512.mask.pmulh.w.256
+ // CHECK: @llvm.x86.avx2.pmulh.w
+ // CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_mulhi_epi16(__U, __A, __B);
}
OpenPOWER on IntegriCloud