diff options
author | Craig Topper <craig.topper@gmail.com> | 2016-09-03 19:19:49 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2016-09-03 19:19:49 +0000 |
commit | f43e4a17286be7520a37990932c273264f1c31ac (patch) | |
tree | 3e2067ff71564e2a261eb915870f84bf9da604fc /clang/test/CodeGen | |
parent | 0e18976b8d192e3fd2d9288fd1e6bf46d0c17272 (diff) | |
download | bcm5719-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.c | 6 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512dq-builtins.c | 6 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512f-builtins.c | 6 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 12 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vlbw-builtins.c | 12 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vldq-builtins.c | 12 |
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); } |