diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CodeGen/avx512bw-builtins.c | 17 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512f-builtins.c | 91 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 121 | ||||
-rw-r--r-- | clang/test/CodeGen/avx512vlbw-builtins.c | 23 |
4 files changed, 252 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c index 7addd98b112..4bd829ee14b 100644 --- a/clang/test/CodeGen/avx512bw-builtins.c +++ b/clang/test/CodeGen/avx512bw-builtins.c @@ -1041,3 +1041,20 @@ __m512i test_mm512_maskz_unpacklo_epi16(__mmask32 __U, __m512i __A, __m512i __B) return _mm512_maskz_unpacklo_epi16(__U, __A, __B); } +__m512i test_mm512_cvtepi8_epi16(__m256i __A) { + // CHECK-LABEL: @test_mm512_cvtepi8_epi16 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.512 + return _mm512_cvtepi8_epi16(__A); +} + +__m512i test_mm512_mask_cvtepi8_epi16(__m512i __W, __mmask32 __U, __m256i __A) { + // CHECK-LABEL: @test_mm512_mask_cvtepi8_epi16 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.512 + return _mm512_mask_cvtepi8_epi16(__W, __U, __A); +} + +__m512i test_mm512_maskz_cvtepi8_epi16(__mmask32 __U, __m256i __A) { + // CHECK-LABEL: @test_mm512_maskz_cvtepi8_epi16 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.512 + return _mm512_maskz_cvtepi8_epi16(__U, __A); +} diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c index c1f4c0ecc52..0b161773ea0 100644 --- a/clang/test/CodeGen/avx512f-builtins.c +++ b/clang/test/CodeGen/avx512f-builtins.c @@ -1899,3 +1899,94 @@ __m512i test_mm512_undefined_epi32() { // CHECK: ret <8 x i64> undef return _mm512_undefined_epi32(); } + +__m512i test_mm512_cvtepi8_epi32(__m128i __A) { + // CHECK-LABEL: @test_mm512_cvtepi8_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.512 + return _mm512_cvtepi8_epi32(__A); +} + +__m512i test_mm512_mask_cvtepi8_epi32(__m512i __W, __mmask16 __U, __m128i __A) { + // CHECK-LABEL: @test_mm512_mask_cvtepi8_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.512 + return _mm512_mask_cvtepi8_epi32(__W, __U, __A); +} + +__m512i test_mm512_maskz_cvtepi8_epi32(__mmask16 __U, __m128i __A) { + // CHECK-LABEL: @test_mm512_maskz_cvtepi8_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.512 + return _mm512_maskz_cvtepi8_epi32(__U, __A); +} + +__m512i test_mm512_cvtepi8_epi64(__m128i __A) { + // CHECK-LABEL: @test_mm512_cvtepi8_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.512 + return _mm512_cvtepi8_epi64(__A); +} + +__m512i test_mm512_mask_cvtepi8_epi64(__m512i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm512_mask_cvtepi8_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.512 + return _mm512_mask_cvtepi8_epi64(__W, __U, __A); +} + +__m512i test_mm512_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm512_maskz_cvtepi8_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.512 + return _mm512_maskz_cvtepi8_epi64(__U, __A); +} + +__m512i test_mm512_cvtepi32_epi64(__m256i __X) { + // CHECK-LABEL: @test_mm512_cvtepi32_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.512 + return _mm512_cvtepi32_epi64(__X); +} + +__m512i test_mm512_mask_cvtepi32_epi64(__m512i __W, __mmask8 __U, __m256i __X) { + // CHECK-LABEL: @test_mm512_mask_cvtepi32_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.512 + return _mm512_mask_cvtepi32_epi64(__W, __U, __X); +} + +__m512i test_mm512_maskz_cvtepi32_epi64(__mmask8 __U, __m256i __X) { + // CHECK-LABEL: @test_mm512_maskz_cvtepi32_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.512 + return _mm512_maskz_cvtepi32_epi64(__U, __X); +} + +__m512i test_mm512_cvtepi16_epi32(__m256i __A) { + // CHECK-LABEL: @test_mm512_cvtepi16_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.512 + return _mm512_cvtepi16_epi32(__A); +} + +__m512i test_mm512_mask_cvtepi16_epi32(__m512i __W, __mmask16 __U, __m256i __A) { + // CHECK-LABEL: @test_mm512_mask_cvtepi16_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.512 + return _mm512_mask_cvtepi16_epi32(__W, __U, __A); +} + +__m512i test_mm512_maskz_cvtepi16_epi32(__mmask16 __U, __m256i __A) { + // CHECK-LABEL: @test_mm512_maskz_cvtepi16_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.512 + return _mm512_maskz_cvtepi16_epi32(__U, __A); +} + +__m512i test_mm512_cvtepi16_epi64(__m128i __A) { + // CHECK-LABEL: @test_mm512_cvtepi16_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.512 + return _mm512_cvtepi16_epi64(__A); +} + +__m512i test_mm512_mask_cvtepi16_epi64(__m512i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm512_mask_cvtepi16_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.512 + return _mm512_mask_cvtepi16_epi64(__W, __U, __A); +} + +__m512i test_mm512_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm512_maskz_cvtepi16_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.512 + return _mm512_maskz_cvtepi16_epi64(__U, __A); +} + diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c index 445513ccfcc..778bd1badf9 100644 --- a/clang/test/CodeGen/avx512vl-builtins.c +++ b/clang/test/CodeGen/avx512vl-builtins.c @@ -3154,3 +3154,124 @@ __m256i test_mm256_maskz_permutex2var_epi64(__mmask8 __U, __m256i __A, __m256i _ // CHECK: @llvm.x86.avx512.maskz.vpermt2var.q.256 return _mm256_maskz_permutex2var_epi64(__U,__A,__I,__B); } + +__m128i test_mm_mask_cvtepi8_epi32(__m128i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepi8_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.128 + return _mm_mask_cvtepi8_epi32(__W, __U, __A); +} + +__m128i test_mm_maskz_cvtepi8_epi32(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepi8_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.128 + return _mm_maskz_cvtepi8_epi32(__U, __A); +} + +__m256i test_mm256_mask_cvtepi8_epi32(__m256i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepi8_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.256 + return _mm256_mask_cvtepi8_epi32(__W, __U, __A); +} + +__m256i test_mm256_maskz_cvtepi8_epi32(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepi8_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.d.256 + return _mm256_maskz_cvtepi8_epi32(__U, __A); +} + +__m128i test_mm_mask_cvtepi8_epi64(__m128i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepi8_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.128 + return _mm_mask_cvtepi8_epi64(__W, __U, __A); +} + +__m128i test_mm_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepi8_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.128 + return _mm_maskz_cvtepi8_epi64(__U, __A); +} + +__m256i test_mm256_mask_cvtepi8_epi64(__m256i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepi8_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.256 + return _mm256_mask_cvtepi8_epi64(__W, __U, __A); +} + +__m256i test_mm256_maskz_cvtepi8_epi64(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepi8_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.q.256 + return _mm256_maskz_cvtepi8_epi64(__U, __A); +} + +__m128i test_mm_mask_cvtepi32_epi64(__m128i __W, __mmask8 __U, __m128i __X) { + // CHECK-LABEL: @test_mm_mask_cvtepi32_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.128 + return _mm_mask_cvtepi32_epi64(__W, __U, __X); +} + +__m128i test_mm_maskz_cvtepi32_epi64(__mmask8 __U, __m128i __X) { + // CHECK-LABEL: @test_mm_maskz_cvtepi32_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.128 + return _mm_maskz_cvtepi32_epi64(__U, __X); +} + +__m256i test_mm256_mask_cvtepi32_epi64(__m256i __W, __mmask8 __U, __m128i __X) { + // CHECK-LABEL: @test_mm256_mask_cvtepi32_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.256 + return _mm256_mask_cvtepi32_epi64(__W, __U, __X); +} + +__m256i test_mm256_maskz_cvtepi32_epi64(__mmask8 __U, __m128i __X) { + // CHECK-LABEL: @test_mm256_maskz_cvtepi32_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxd.q.256 + return _mm256_maskz_cvtepi32_epi64(__U, __X); +} + +__m128i test_mm_mask_cvtepi16_epi32(__m128i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepi16_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.128 + return _mm_mask_cvtepi16_epi32(__W, __U, __A); +} + +__m128i test_mm_maskz_cvtepi16_epi32(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepi16_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.128 + return _mm_maskz_cvtepi16_epi32(__U, __A); +} + +__m256i test_mm256_mask_cvtepi16_epi32(__m256i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepi16_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.256 + return _mm256_mask_cvtepi16_epi32(__W, __U, __A); +} + +__m256i test_mm256_maskz_cvtepi16_epi32(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepi16_epi32 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.d.256 + return _mm256_maskz_cvtepi16_epi32(__U, __A); +} + +__m128i test_mm_mask_cvtepi16_epi64(__m128i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepi16_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.128 + return _mm_mask_cvtepi16_epi64(__W, __U, __A); +} + +__m128i test_mm_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepi16_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.128 + return _mm_maskz_cvtepi16_epi64(__U, __A); +} + +__m256i test_mm256_mask_cvtepi16_epi64(__m256i __W, __mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepi16_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.256 + return _mm256_mask_cvtepi16_epi64(__W, __U, __A); +} + +__m256i test_mm256_maskz_cvtepi16_epi64(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepi16_epi64 + // CHECK: @llvm.x86.avx512.mask.pmovsxw.q.256 + return _mm256_maskz_cvtepi16_epi64(__U, __A); +} + diff --git a/clang/test/CodeGen/avx512vlbw-builtins.c b/clang/test/CodeGen/avx512vlbw-builtins.c index 11155f6cf81..01f5faf4fbb 100644 --- a/clang/test/CodeGen/avx512vlbw-builtins.c +++ b/clang/test/CodeGen/avx512vlbw-builtins.c @@ -1705,3 +1705,26 @@ __m256i test_mm256_maskz_unpacklo_epi16(__mmask16 __U, __m256i __A, __m256i __B) return _mm256_maskz_unpacklo_epi16(__U, __A, __B); } +__m128i test_mm_mask_cvtepi8_epi16(__m128i __W, __mmask32 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_mask_cvtepi8_epi16 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.128 + return _mm_mask_cvtepi8_epi16(__W, __U, __A); +} + +__m128i test_mm_maskz_cvtepi8_epi16(__mmask8 __U, __m128i __A) { + // CHECK-LABEL: @test_mm_maskz_cvtepi8_epi16 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.128 + return _mm_maskz_cvtepi8_epi16(__U, __A); +} + +__m256i test_mm256_mask_cvtepi8_epi16(__m256i __W, __mmask32 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_mask_cvtepi8_epi16 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.256 + return _mm256_mask_cvtepi8_epi16(__W, __U, __A); +} + +__m256i test_mm256_maskz_cvtepi8_epi16(__mmask16 __U, __m128i __A) { + // CHECK-LABEL: @test_mm256_maskz_cvtepi8_epi16 + // CHECK: @llvm.x86.avx512.mask.pmovsxb.w.256 + return _mm256_maskz_cvtepi8_epi16(__U, __A); +} |