diff options
Diffstat (limited to 'clang/test/CodeGen')
| -rw-r--r-- | clang/test/CodeGen/avx512bw-builtins.c | 36 | ||||
| -rw-r--r-- | clang/test/CodeGen/avx512f-builtins.c | 203 | ||||
| -rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 216 | ||||
| -rw-r--r-- | clang/test/CodeGen/avx512vlbw-builtins.c | 48 |
4 files changed, 503 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512bw-builtins.c b/clang/test/CodeGen/avx512bw-builtins.c index 8fb094d6077..58a7be913a4 100644 --- a/clang/test/CodeGen/avx512bw-builtins.c +++ b/clang/test/CodeGen/avx512bw-builtins.c @@ -1311,4 +1311,40 @@ __m512i test_mm512_maskz_set1_epi8(__mmask64 __M, char __A) { return _mm512_maskz_set1_epi8(__M, __A); } +__mmask64 test_mm512_kunpackd(__mmask64 __A, __mmask64 __B) { + // CHECK-LABEL: @test_mm512_kunpackd + // CHECK: @llvm.x86.avx512.kunpck.dq + return _mm512_kunpackd(__A, __B); +} + +__mmask32 test_mm512_kunpackw(__mmask32 __A, __mmask32 __B) { + // CHECK-LABEL: @test_mm512_kunpackw + // CHECK: @llvm.x86.avx512.kunpck.wd + return _mm512_kunpackw(__A, __B); +} + +__m512i test_mm512_mask_loadu_epi16(__m512i __W, __mmask32 __U, void const *__P) { + // CHECK-LABEL: @test_mm512_mask_loadu_epi16 + // CHECK: @llvm.x86.avx512.mask.loadu.w.512 + return _mm512_mask_loadu_epi16(__W, __U, __P); +} + +__m512i test_mm512_maskz_loadu_epi16(__mmask32 __U, void const *__P) { + // CHECK-LABEL: @test_mm512_maskz_loadu_epi16 + // CHECK: @llvm.x86.avx512.mask.loadu.w.512 + return _mm512_maskz_loadu_epi16(__U, __P); +} + +__m512i test_mm512_mask_loadu_epi8(__m512i __W, __mmask64 __U, void const *__P) { + // CHECK-LABEL: @test_mm512_mask_loadu_epi8 + // CHECK: @llvm.x86.avx512.mask.loadu.b.512 + return _mm512_mask_loadu_epi8(__W, __U, __P); +} + +__m512i test_mm512_maskz_loadu_epi8(__mmask64 __U, void const *__P) { + // CHECK-LABEL: @test_mm512_maskz_loadu_epi8 + // CHECK: @llvm.x86.avx512.mask.loadu.b.512 + return _mm512_maskz_loadu_epi8(__U, __P); +} + diff --git a/clang/test/CodeGen/avx512f-builtins.c b/clang/test/CodeGen/avx512f-builtins.c index 27fe962a53f..71e47b47fbc 100644 --- a/clang/test/CodeGen/avx512f-builtins.c +++ b/clang/test/CodeGen/avx512f-builtins.c @@ -2375,3 +2375,206 @@ int test_mm_comi_round_ss(__m128 __A, __m128 __B) { // CHECK: @llvm.x86.avx512.vcomi.ss return _mm_comi_round_ss(__A, __B, 5, 3); } + +__m512d test_mm512_fixupimm_round_pd(__m512d __A, __m512d __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_fixupimm_round_pd + // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.512 + return _mm512_fixupimm_round_pd(__A, __B, __C, 5, 8); +} + +__m512d test_mm512_mask_fixupimm_round_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_mask_fixupimm_round_pd + // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.512 + return _mm512_mask_fixupimm_round_pd(__A, __U, __B, __C, 5, 8); +} + +__m512d test_mm512_fixupimm_pd(__m512d __A, __m512d __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_fixupimm_pd + // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.512 + return _mm512_fixupimm_pd(__A, __B, __C, 5); +} + +__m512d test_mm512_mask_fixupimm_pd(__m512d __A, __mmask8 __U, __m512d __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_mask_fixupimm_pd + // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.512 + return _mm512_mask_fixupimm_pd(__A, __U, __B, __C, 5); +} + +__m512d test_mm512_maskz_fixupimm_round_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_maskz_fixupimm_round_pd + // CHECK: @llvm.x86.avx512.maskz.fixupimm.pd.512 + return _mm512_maskz_fixupimm_round_pd(__U, __A, __B, __C, 5, 8); +} + +__m512d test_mm512_maskz_fixupimm_pd(__mmask8 __U, __m512d __A, __m512d __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_maskz_fixupimm_pd + // CHECK: @llvm.x86.avx512.maskz.fixupimm.pd.512 + return _mm512_maskz_fixupimm_pd(__U, __A, __B, __C, 5); +} + +__m512 test_mm512_fixupimm_round_ps(__m512 __A, __m512 __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_fixupimm_round_ps + // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.512 + return _mm512_fixupimm_round_ps(__A, __B, __C, 5, 8); +} + +__m512 test_mm512_mask_fixupimm_round_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_mask_fixupimm_round_ps + // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.512 + return _mm512_mask_fixupimm_round_ps(__A, __U, __B, __C, 5, 8); +} + +__m512 test_mm512_fixupimm_ps(__m512 __A, __m512 __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_fixupimm_ps + // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.512 + return _mm512_fixupimm_ps(__A, __B, __C, 5); +} + +__m512 test_mm512_mask_fixupimm_ps(__m512 __A, __mmask16 __U, __m512 __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_mask_fixupimm_ps + // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.512 + return _mm512_mask_fixupimm_ps(__A, __U, __B, __C, 5); +} + +__m512 test_mm512_maskz_fixupimm_round_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_maskz_fixupimm_round_ps + // CHECK: @llvm.x86.avx512.maskz.fixupimm.ps.512 + return _mm512_maskz_fixupimm_round_ps(__U, __A, __B, __C, 5, 8); +} + +__m512 test_mm512_maskz_fixupimm_ps(__mmask16 __U, __m512 __A, __m512 __B, __m512i __C) { + // CHECK-LABEL: @test_mm512_maskz_fixupimm_ps + // CHECK: @llvm.x86.avx512.maskz.fixupimm.ps.512 + return _mm512_maskz_fixupimm_ps(__U, __A, __B, __C, 5); +} + +__m128d test_mm_fixupimm_round_sd(__m128d __A, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_fixupimm_round_sd + // CHECK: @llvm.x86.avx512.mask.fixupimm + return _mm_fixupimm_round_sd(__A, __B, __C, 5, 8); +} + +__m128d test_mm_mask_fixupimm_round_sd(__m128d __A, __mmask8 __U, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_mask_fixupimm_round_sd + // CHECK: @llvm.x86.avx512.mask.fixupimm + return _mm_mask_fixupimm_round_sd(__A, __U, __B, __C, 5, 8); +} + +__m128d test_mm_fixupimm_sd(__m128d __A, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_fixupimm_sd + // CHECK: @llvm.x86.avx512.mask.fixupimm + return _mm_fixupimm_sd(__A, __B, __C, 5); +} + +__m128d test_mm_mask_fixupimm_sd(__m128d __A, __mmask8 __U, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_mask_fixupimm_sd + // CHECK: @llvm.x86.avx512.mask.fixupimm + return _mm_mask_fixupimm_sd(__A, __U, __B, __C, 5); +} + +__m128d test_mm_maskz_fixupimm_round_sd(__mmask8 __U, __m128d __A, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_maskz_fixupimm_round_sd + // CHECK: @llvm.x86.avx512.maskz.fixupimm + return _mm_maskz_fixupimm_round_sd(__U, __A, __B, __C, 5, 8); +} + +__m128d test_mm_maskz_fixupimm_sd(__mmask8 __U, __m128d __A, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_maskz_fixupimm_sd + // CHECK: @llvm.x86.avx512.maskz.fixupimm + return _mm_maskz_fixupimm_sd(__U, __A, __B, __C, 5); +} + +__m128 test_mm_fixupimm_round_ss(__m128 __A, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_fixupimm_round_ss + // CHECK: @llvm.x86.avx512.mask.fixupimm + return _mm_fixupimm_round_ss(__A, __B, __C, 5, 8); +} + +__m128 test_mm_mask_fixupimm_round_ss(__m128 __A, __mmask8 __U, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_mask_fixupimm_round_ss + // CHECK: @llvm.x86.avx512.mask.fixupimm + return _mm_mask_fixupimm_round_ss(__A, __U, __B, __C, 5, 8); +} + +__m128 test_mm_fixupimm_ss(__m128 __A, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_fixupimm_ss + // CHECK: @llvm.x86.avx512.mask.fixupimm + return _mm_fixupimm_ss(__A, __B, __C, 5); +} + +__m128 test_mm_mask_fixupimm_ss(__m128 __A, __mmask8 __U, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_mask_fixupimm_ss + // CHECK: @llvm.x86.avx512.mask.fixupimm + return _mm_mask_fixupimm_ss(__A, __U, __B, __C, 5); +} + +__m128 test_mm_maskz_fixupimm_round_ss(__mmask8 __U, __m128 __A, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_maskz_fixupimm_round_ss + // CHECK: @llvm.x86.avx512.maskz.fixupimm + return _mm_maskz_fixupimm_round_ss(__U, __A, __B, __C, 5, 8); +} + +__m128 test_mm_maskz_fixupimm_ss(__mmask8 __U, __m128 __A, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_maskz_fixupimm_ss + // CHECK: @llvm.x86.avx512.maskz.fixupimm + return _mm_maskz_fixupimm_ss(__U, __A, __B, __C, 5); +} + +__m128d test_mm_getexp_round_sd(__m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm_getexp_round_sd + // CHECK: @llvm.x86.avx512.mask.getexp.sd + return _mm_getexp_round_sd(__A, __B, 8); +} + +__m128d test_mm_getexp_sd(__m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm_getexp_sd + // CHECK: @llvm.x86.avx512.mask.getexp.sd + return _mm_getexp_sd(__A, __B); +} + +__m128 test_mm_getexp_round_ss(__m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_getexp_round_ss + // CHECK: @llvm.x86.avx512.mask.getexp.ss + return _mm_getexp_round_ss(__A, __B, 8); +} + +__m128 test_mm_getexp_ss(__m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_getexp_ss + // CHECK: @llvm.x86.avx512.mask.getexp.ss + return _mm_getexp_ss(__A, __B); +} + +__m128d test_mm_getmant_round_sd(__m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm_getmant_round_sd + // CHECK: @llvm.x86.avx512.mask.getmant.sd + return _mm_getmant_round_sd(__A, __B, _MM_MANT_NORM_1_2, _MM_MANT_SIGN_src, 8); +} + +__m128d test_mm_getmant_sd(__m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm_getmant_sd + // CHECK: @llvm.x86.avx512.mask.getmant.sd + return _mm_getmant_sd(__A, __B, _MM_MANT_NORM_1_2, _MM_MANT_SIGN_src); +} + + + +__m128 test_mm_getmant_round_ss(__m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_getmant_round_ss + // CHECK: @llvm.x86.avx512.mask.getmant.ss + return _mm_getmant_round_ss(__A, __B, _MM_MANT_NORM_1_2, _MM_MANT_SIGN_src, 8); +} + +__m128 test_mm_getmant_ss(__m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_getmant_ss + // CHECK: @llvm.x86.avx512.mask.getmant.ss + return _mm_getmant_ss(__A, __B, _MM_MANT_NORM_1_2, _MM_MANT_SIGN_src); +} + +__mmask16 test_mm512_kmov(__mmask16 __A) { + // CHECK-LABEL: @test_mm512_kmov + // CHECK: load i16, i16* %__A.addr.i, align 2 + return _mm512_kmov(__A); +} + + + diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c index 99302a06421..95cc5240bc6 100644 --- a/clang/test/CodeGen/avx512vl-builtins.c +++ b/clang/test/CodeGen/avx512vl-builtins.c @@ -4080,3 +4080,219 @@ __m256i test_mm256_maskz_set1_epi64(__mmask8 __M, long long __A) { return _mm256_maskz_set1_epi64(__M, __A); } +__m128d test_mm_fixupimm_pd(__m128d __A, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_fixupimm_pd + // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.128 + return _mm_fixupimm_pd(__A, __B, __C, 5); +} + +__m128d test_mm_mask_fixupimm_pd(__m128d __A, __mmask8 __U, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_mask_fixupimm_pd + // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.128 + return _mm_mask_fixupimm_pd(__A, __U, __B, __C, 5); +} + +__m128d test_mm_maskz_fixupimm_pd(__mmask8 __U, __m128d __A, __m128d __B, __m128i __C) { + // CHECK-LABEL: @test_mm_maskz_fixupimm_pd + // CHECK: @llvm.x86.avx512.maskz.fixupimm.pd.128 + return _mm_maskz_fixupimm_pd(__U, __A, __B, __C, 5); +} + +__m256d test_mm256_fixupimm_pd(__m256d __A, __m256d __B, __m256i __C) { + // CHECK-LABEL: @test_mm256_fixupimm_pd + // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.256 + return _mm256_fixupimm_pd(__A, __B, __C, 5); +} + +__m256d test_mm256_mask_fixupimm_pd(__m256d __A, __mmask8 __U, __m256d __B, __m256i __C) { + // CHECK-LABEL: @test_mm256_mask_fixupimm_pd + // CHECK: @llvm.x86.avx512.mask.fixupimm.pd.256 + return _mm256_mask_fixupimm_pd(__A, __U, __B, __C, 5); +} + +__m256d test_mm256_maskz_fixupimm_pd(__mmask8 __U, __m256d __A, __m256d __B, __m256i __C) { + // CHECK-LABEL: @test_mm256_maskz_fixupimm_pd + // CHECK: @llvm.x86.avx512.maskz.fixupimm.pd.256 + return _mm256_maskz_fixupimm_pd(__U, __A, __B, __C, 5); +} + +__m128 test_mm_fixupimm_ps(__m128 __A, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_fixupimm_ps + // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.128 + return _mm_fixupimm_ps(__A, __B, __C, 5); +} + +__m128 test_mm_mask_fixupimm_ps(__m128 __A, __mmask8 __U, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_mask_fixupimm_ps + // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.128 + return _mm_mask_fixupimm_ps(__A, __U, __B, __C, 5); +} + +__m128 test_mm_maskz_fixupimm_ps(__mmask8 __U, __m128 __A, __m128 __B, __m128i __C) { + // CHECK-LABEL: @test_mm_maskz_fixupimm_ps + // CHECK: @llvm.x86.avx512.maskz.fixupimm.ps.128 + return _mm_maskz_fixupimm_ps(__U, __A, __B, __C, 5); +} + +__m256 test_mm256_fixupimm_ps(__m256 __A, __m256 __B, __m256i __C) { + // CHECK-LABEL: @test_mm256_fixupimm_ps + // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.256 + return _mm256_fixupimm_ps(__A, __B, __C, 5); +} + +__m256 test_mm256_mask_fixupimm_ps(__m256 __A, __mmask8 __U, __m256 __B, __m256i __C) { + // CHECK-LABEL: @test_mm256_mask_fixupimm_ps + // CHECK: @llvm.x86.avx512.mask.fixupimm.ps.256 + return _mm256_mask_fixupimm_ps(__A, __U, __B, __C, 5); +} + +__m256 test_mm256_maskz_fixupimm_ps(__mmask8 __U, __m256 __A, __m256 __B, __m256i __C) { + // CHECK-LABEL: @test_mm256_maskz_fixupimm_ps + // CHECK: @llvm.x86.avx512.maskz.fixupimm.ps.256 + return _mm256_maskz_fixupimm_ps(__U, __A, __B, __C, 5); +} + +__m128d test_mm_mask_load_pd(__m128d __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_mask_load_pd + // CHECK: @llvm.x86.avx512.mask.load.pd.128 + return _mm_mask_load_pd(__W, __U, __P); +} + +__m128d test_mm_maskz_load_pd(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_maskz_load_pd + // CHECK: @llvm.x86.avx512.mask.load.pd.128 + return _mm_maskz_load_pd(__U, __P); +} + +__m256d test_mm256_mask_load_pd(__m256d __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_mask_load_pd + // CHECK: @llvm.x86.avx512.mask.load.pd.256 + return _mm256_mask_load_pd(__W, __U, __P); +} + +__m256d test_mm256_maskz_load_pd(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_maskz_load_pd + // CHECK: @llvm.x86.avx512.mask.load.pd.256 + return _mm256_maskz_load_pd(__U, __P); +} + +__m128 test_mm_mask_load_ps(__m128 __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_mask_load_ps + // CHECK: @llvm.x86.avx512.mask.load.ps.128 + return _mm_mask_load_ps(__W, __U, __P); +} + +__m128 test_mm_maskz_load_ps(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_maskz_load_ps + // CHECK: @llvm.x86.avx512.mask.load.ps.128 + return _mm_maskz_load_ps(__U, __P); +} + +__m256 test_mm256_mask_load_ps(__m256 __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_mask_load_ps + // CHECK: @llvm.x86.avx512.mask.load.ps.256 + return _mm256_mask_load_ps(__W, __U, __P); +} + +__m256 test_mm256_maskz_load_ps(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_maskz_load_ps + // CHECK: @llvm.x86.avx512.mask.load.ps.256 + return _mm256_maskz_load_ps(__U, __P); +} + +__m128i test_mm_mask_loadu_epi64(__m128i __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_mask_loadu_epi64 + // CHECK: @llvm.x86.avx512.mask.loadu.q.128 + return _mm_mask_loadu_epi64(__W, __U, __P); +} + +__m128i test_mm_maskz_loadu_epi64(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_maskz_loadu_epi64 + // CHECK: @llvm.x86.avx512.mask.loadu.q.128 + return _mm_maskz_loadu_epi64(__U, __P); +} + +__m256i test_mm256_mask_loadu_epi64(__m256i __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_mask_loadu_epi64 + // CHECK: @llvm.x86.avx512.mask.loadu.q.256 + return _mm256_mask_loadu_epi64(__W, __U, __P); +} + +__m256i test_mm256_maskz_loadu_epi64(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_maskz_loadu_epi64 + // CHECK: @llvm.x86.avx512.mask.loadu.q.256 + return _mm256_maskz_loadu_epi64(__U, __P); +} + +__m128i test_mm_mask_loadu_epi32(__m128i __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_mask_loadu_epi32 + // CHECK: @llvm.x86.avx512.mask.loadu.d.128 + return _mm_mask_loadu_epi32(__W, __U, __P); +} + +__m128i test_mm_maskz_loadu_epi32(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_maskz_loadu_epi32 + // CHECK: @llvm.x86.avx512.mask.loadu.d.128 + return _mm_maskz_loadu_epi32(__U, __P); +} + +__m256i test_mm256_mask_loadu_epi32(__m256i __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_mask_loadu_epi32 + // CHECK: @llvm.x86.avx512.mask.loadu.d.256 + return _mm256_mask_loadu_epi32(__W, __U, __P); +} + +__m256i test_mm256_maskz_loadu_epi32(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_maskz_loadu_epi32 + // CHECK: @llvm.x86.avx512.mask.loadu.d.256 + return _mm256_maskz_loadu_epi32(__U, __P); +} + +__m128d test_mm_mask_loadu_pd(__m128d __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_mask_loadu_pd + // CHECK: @llvm.x86.avx512.mask.loadu.pd.128 + return _mm_mask_loadu_pd(__W, __U, __P); +} + +__m128d test_mm_maskz_loadu_pd(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_maskz_loadu_pd + // CHECK: @llvm.x86.avx512.mask.loadu.pd.128 + return _mm_maskz_loadu_pd(__U, __P); +} + +__m256d test_mm256_mask_loadu_pd(__m256d __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_mask_loadu_pd + // CHECK: @llvm.x86.avx512.mask.loadu.pd.256 + return _mm256_mask_loadu_pd(__W, __U, __P); +} + +__m256d test_mm256_maskz_loadu_pd(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_maskz_loadu_pd + // CHECK: @llvm.x86.avx512.mask.loadu.pd.256 + return _mm256_maskz_loadu_pd(__U, __P); +} + +__m128 test_mm_mask_loadu_ps(__m128 __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_mask_loadu_ps + // CHECK: @llvm.x86.avx512.mask.loadu.ps.128 + return _mm_mask_loadu_ps(__W, __U, __P); +} + +__m128 test_mm_maskz_loadu_ps(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_maskz_loadu_ps + // CHECK: @llvm.x86.avx512.mask.loadu.ps.128 + return _mm_maskz_loadu_ps(__U, __P); +} + +__m256 test_mm256_mask_loadu_ps(__m256 __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_mask_loadu_ps + // CHECK: @llvm.x86.avx512.mask.loadu.ps.256 + return _mm256_mask_loadu_ps(__W, __U, __P); +} + +__m256 test_mm256_maskz_loadu_ps(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_maskz_loadu_ps + // CHECK: @llvm.x86.avx512.mask.loadu.ps.256 + return _mm256_maskz_loadu_ps(__U, __P); +} + diff --git a/clang/test/CodeGen/avx512vlbw-builtins.c b/clang/test/CodeGen/avx512vlbw-builtins.c index 7a237080f87..3caa9b340c8 100644 --- a/clang/test/CodeGen/avx512vlbw-builtins.c +++ b/clang/test/CodeGen/avx512vlbw-builtins.c @@ -2005,3 +2005,51 @@ __m256i test_mm256_maskz_mov_epi8(__mmask32 __U, __m256i __A) { return _mm256_maskz_mov_epi8(__U, __A); } +__m128i test_mm_mask_loadu_epi16(__m128i __W, __mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_mask_loadu_epi16 + // CHECK: @llvm.x86.avx512.mask.loadu.w.128 + return _mm_mask_loadu_epi16(__W, __U, __P); +} + +__m128i test_mm_maskz_loadu_epi16(__mmask8 __U, void const *__P) { + // CHECK-LABEL: @test_mm_maskz_loadu_epi16 + // CHECK: @llvm.x86.avx512.mask.loadu.w.128 + return _mm_maskz_loadu_epi16(__U, __P); +} + +__m256i test_mm256_mask_loadu_epi16(__m256i __W, __mmask16 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_mask_loadu_epi16 + // CHECK: @llvm.x86.avx512.mask.loadu.w.256 + return _mm256_mask_loadu_epi16(__W, __U, __P); +} + +__m256i test_mm256_maskz_loadu_epi16(__mmask16 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_maskz_loadu_epi16 + // CHECK: @llvm.x86.avx512.mask.loadu.w.256 + return _mm256_maskz_loadu_epi16(__U, __P); +} + +__m128i test_mm_mask_loadu_epi8(__m128i __W, __mmask16 __U, void const *__P) { + // CHECK-LABEL: @test_mm_mask_loadu_epi8 + // CHECK: @llvm.x86.avx512.mask.loadu.b.128 + return _mm_mask_loadu_epi8(__W, __U, __P); +} + +__m128i test_mm_maskz_loadu_epi8(__mmask16 __U, void const *__P) { + // CHECK-LABEL: @test_mm_maskz_loadu_epi8 + // CHECK: @llvm.x86.avx512.mask.loadu.b.128 + return _mm_maskz_loadu_epi8(__U, __P); +} + +__m256i test_mm256_mask_loadu_epi8(__m256i __W, __mmask32 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_mask_loadu_epi8 + // CHECK: @llvm.x86.avx512.mask.loadu.b.256 + return _mm256_mask_loadu_epi8(__W, __U, __P); +} + +__m256i test_mm256_maskz_loadu_epi8(__mmask32 __U, void const *__P) { + // CHECK-LABEL: @test_mm256_maskz_loadu_epi8 + // CHECK: @llvm.x86.avx512.mask.loadu.b.256 + return _mm256_maskz_loadu_epi8(__U, __P); +} + |

