summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2016-09-03 19:19:49 +0000
committerCraig Topper <craig.topper@gmail.com>2016-09-03 19:19:49 +0000
commitf43e4a17286be7520a37990932c273264f1c31ac (patch)
tree3e2067ff71564e2a261eb915870f84bf9da604fc /clang/test/CodeGen
parent0e18976b8d192e3fd2d9288fd1e6bf46d0c17272 (diff)
downloadbcm5719-llvm-f43e4a17286be7520a37990932c273264f1c31ac.tar.gz
bcm5719-llvm-f43e4a17286be7520a37990932c273264f1c31ac.zip
[AVX-512] Remove masked integer mullo builtins and replace with native IR.
llvm-svn: 280597
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r--clang/test/CodeGen/avx512bw-builtins.c6
-rw-r--r--clang/test/CodeGen/avx512dq-builtins.c6
-rw-r--r--clang/test/CodeGen/avx512f-builtins.c6
-rw-r--r--clang/test/CodeGen/avx512vl-builtins.c12
-rw-r--r--clang/test/CodeGen/avx512vlbw-builtins.c12
-rw-r--r--clang/test/CodeGen/avx512vldq-builtins.c12
6 files changed, 36 insertions, 18 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c
index ebf981447b8..2308cb2b1e8 100644
--- a/clang/test/CodeGen/avx512bw-builtins.c
+++ b/clang/test/CodeGen/avx512bw-builtins.c
@@ -458,13 +458,15 @@ __m512i test_mm512_mullo_epi16 (__m512i __A, __m512i __B) {
__m512i test_mm512_mask_mullo_epi16 (__m512i __W, __mmask32 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_mask_mullo_epi16
- //CHECK: @llvm.x86.avx512.mask.pmull.w.512
+ //CHECK: mul <32 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_mask_mullo_epi16(__W, __U, __A, __B);
}
__m512i test_mm512_maskz_mullo_epi16 (__mmask32 __U, __m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_mullo_epi16
- //CHECK: @llvm.x86.avx512.mask.pmull.w.512
+ //CHECK: mul <32 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <32 x i1> %{{.*}}, <32 x i16> %{{.*}}, <32 x i16> %{{.*}}
return _mm512_maskz_mullo_epi16(__U, __A, __B);
}
diff --git a/clang/test/CodeGen/avx512dq-builtins.c b/clang/test/CodeGen/avx512dq-builtins.c
index ac6e3420d6f..979aab3aeff 100644
--- a/clang/test/CodeGen/avx512dq-builtins.c
+++ b/clang/test/CodeGen/avx512dq-builtins.c
@@ -13,13 +13,15 @@ __m512i test_mm512_mullo_epi64 (__m512i __A, __m512i __B) {
__m512i test_mm512_mask_mullo_epi64 (__m512i __W, __mmask8 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_mask_mullo_epi64
- // CHECK: @llvm.x86.avx512.mask.pmull.q.512
+ // CHECK: mul <8 x i64> %{{.*}}, %{{.*}}
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return (__m512i) _mm512_mask_mullo_epi64(__W, __U, __A, __B);
}
__m512i test_mm512_maskz_mullo_epi64 (__mmask8 __U, __m512i __A, __m512i __B) {
// CHECK-LABEL: @test_mm512_maskz_mullo_epi64
- // CHECK: @llvm.x86.avx512.mask.pmull.q.512
+ // CHECK: mul <8 x i64> %{{.*}}, %{{.*}}
+ // CHECK: select <8 x i1> %{{.*}}, <8 x i64> %{{.*}}, <8 x i64> %{{.*}}
return (__m512i) _mm512_maskz_mullo_epi64(__U, __A, __B);
}
diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c
index 46d0b1a3300..2f963c6e22d 100644
--- a/clang/test/CodeGen/avx512f-builtins.c
+++ b/clang/test/CodeGen/avx512f-builtins.c
@@ -1697,13 +1697,15 @@ __m512i test_mm512_mask_mul_epu32 (__mmask16 __k,__m512i __A, __m512i __B,
__m512i test_mm512_maskz_mullo_epi32 (__mmask16 __k,__m512i __A, __m512i __B) {
//CHECK-LABEL: @test_mm512_maskz_mullo_epi32
- //CHECK: @llvm.x86.avx512.mask.pmull.d.512
+ //CHECK: mul <16 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_maskz_mullo_epi32(__k,__A,__B);
}
__m512i test_mm512_mask_mullo_epi32 (__mmask16 __k,__m512i __A, __m512i __B, __m512i __src) {
//CHECK-LABEL: @test_mm512_mask_mullo_epi32
- //CHECK: @llvm.x86.avx512.mask.pmull.d.512
+ //CHECK: mul <16 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
return _mm512_mask_mullo_epi32(__src,__k,__A,__B);
}
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c
index 11a927412e8..801f3e78f79 100644
--- a/clang/test/CodeGen/avx512vl-builtins.c
+++ b/clang/test/CodeGen/avx512vl-builtins.c
@@ -781,27 +781,31 @@ __m128i test_mm_maskz_mul_epu32 (__mmask8 __M, __m128i __X, __m128i __Y) {
__m128i test_mm_maskz_mullo_epi32 (__mmask8 __M, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_mullo_epi32
- //CHECK: @llvm.x86.avx512.mask.pmull.d.128
+ //CHECK: mul <4 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_maskz_mullo_epi32(__M, __A, __B);
}
__m128i test_mm_mask_mullo_epi32 (__m128i __W, __mmask8 __M, __m128i __A,
__m128i __B) {
//CHECK-LABEL: @test_mm_mask_mullo_epi32
- //CHECK: @llvm.x86.avx512.mask.pmull.d.128
+ //CHECK: mul <4 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
return _mm_mask_mullo_epi32(__W, __M, __A, __B);
}
__m256i test_mm256_maskz_mullo_epi32 (__mmask8 __M, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_mullo_epi32
- //CHECK: @llvm.x86.avx512.mask.pmull.d.256
+ //CHECK: mul <8 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_maskz_mullo_epi32(__M, __A, __B);
}
__m256i test_mm256_mask_mullo_epi32 (__m256i __W, __mmask8 __M, __m256i __A,
__m256i __B) {
//CHECK-LABEL: @test_mm256_mask_mullo_epi32
- //CHECK: @llvm.x86.avx512.mask.pmull.d.256
+ //CHECK: mul <8 x i32> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
return _mm256_mask_mullo_epi32(__W, __M, __A, __B);
}
diff --git a/clang/test/CodeGen/avx512vlbw-builtins.c b/clang/test/CodeGen/avx512vlbw-builtins.c
index f3150eaf03e..506b0ab8318 100644
--- a/clang/test/CodeGen/avx512vlbw-builtins.c
+++ b/clang/test/CodeGen/avx512vlbw-builtins.c
@@ -848,25 +848,29 @@ __m128i test_mm_maskz_sub_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
__m256i test_mm256_mask_mullo_epi16 (__m256i __W, __mmask16 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_mask_mullo_epi16
- //CHECK: @llvm.x86.avx512.mask.pmull.w.256
+ //CHECK: mul <16 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_mask_mullo_epi16(__W, __U , __A, __B);
}
__m256i test_mm256_maskz_mullo_epi16 (__mmask16 __U, __m256i __A, __m256i __B) {
//CHECK-LABEL: @test_mm256_maskz_mullo_epi16
- //CHECK: @llvm.x86.avx512.mask.pmull.w.256
+ //CHECK: mul <16 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <16 x i1> %{{.*}}, <16 x i16> %{{.*}}, <16 x i16> %{{.*}}
return _mm256_maskz_mullo_epi16(__U , __A, __B);
}
__m128i test_mm_mask_mullo_epi16 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_mask_mullo_epi16
- //CHECK: @llvm.x86.avx512.mask.pmull.w.128
+ //CHECK: mul <8 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_mask_mullo_epi16(__W, __U , __A, __B);
}
__m128i test_mm_maskz_mullo_epi16 (__mmask8 __U, __m128i __A, __m128i __B) {
//CHECK-LABEL: @test_mm_maskz_mullo_epi16
- //CHECK: @llvm.x86.avx512.mask.pmull.w.128
+ //CHECK: mul <8 x i16> %{{.*}}, %{{.*}}
+ //CHECK: select <8 x i1> %{{.*}}, <8 x i16> %{{.*}}, <8 x i16> %{{.*}}
return _mm_maskz_mullo_epi16(__U , __A, __B);
}
diff --git a/clang/test/CodeGen/avx512vldq-builtins.c b/clang/test/CodeGen/avx512vldq-builtins.c
index 75af588c914..9b04441c380 100644
--- a/clang/test/CodeGen/avx512vldq-builtins.c
+++ b/clang/test/CodeGen/avx512vldq-builtins.c
@@ -13,13 +13,15 @@ __m256i test_mm256_mullo_epi64 (__m256i __A, __m256i __B) {
__m256i test_mm256_mask_mullo_epi64 (__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_mask_mullo_epi64
- // CHECK: @llvm.x86.avx512.mask.pmull.q.256
+ // CHECK: mul <4 x i64> %{{.*}}, %{{.*}}
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return (__m256i) _mm256_mask_mullo_epi64 ( __W, __U, __A, __B);
}
__m256i test_mm256_maskz_mullo_epi64 (__mmask8 __U, __m256i __A, __m256i __B) {
// CHECK-LABEL: @test_mm256_maskz_mullo_epi64
- // CHECK: @llvm.x86.avx512.mask.pmull.q.256
+ // CHECK: mul <4 x i64> %{{.*}}, %{{.*}}
+ // CHECK: select <4 x i1> %{{.*}}, <4 x i64> %{{.*}}, <4 x i64> %{{.*}}
return (__m256i) _mm256_maskz_mullo_epi64 (__U, __A, __B);
}
@@ -31,13 +33,15 @@ __m128i test_mm_mullo_epi64 (__m128i __A, __m128i __B) {
__m128i test_mm_mask_mullo_epi64 (__m128i __W, __mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_mask_mullo_epi64
- // CHECK: @llvm.x86.avx512.mask.pmull.q.128
+ // CHECK: mul <2 x i64> %{{.*}}, %{{.*}}
+ // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return (__m128i) _mm_mask_mullo_epi64 ( __W, __U, __A, __B);
}
__m128i test_mm_maskz_mullo_epi64 (__mmask8 __U, __m128i __A, __m128i __B) {
// CHECK-LABEL: @test_mm_maskz_mullo_epi64
- // CHECK: @llvm.x86.avx512.mask.pmull.q.128
+ // CHECK: mul <2 x i64> %{{.*}}, %{{.*}}
+ // CHECK: select <2 x i1> %{{.*}}, <2 x i64> %{{.*}}, <2 x i64> %{{.*}}
return (__m128i) _mm_maskz_mullo_epi64 (__U, __A, __B);
}
OpenPOWER on IntegriCloud