diff options
Diffstat (limited to 'clang/test/CodeGen/avx512vl-builtins.c')
-rw-r--r-- | clang/test/CodeGen/avx512vl-builtins.c | 191 |
1 files changed, 191 insertions, 0 deletions
diff --git a/clang/test/CodeGen/avx512vl-builtins.c b/clang/test/CodeGen/avx512vl-builtins.c index 6eaa803d926..76741b78f8c 100644 --- a/clang/test/CodeGen/avx512vl-builtins.c +++ b/clang/test/CodeGen/avx512vl-builtins.c @@ -5087,3 +5087,194 @@ __m256i test_mm256_maskz_ternarylogic_epi64(__mmask8 __U, __m256i __A, __m256i _ // CHECK: @llvm.x86.avx512.maskz.pternlog.q.256 return _mm256_maskz_ternarylogic_epi64(__U, __A, __B, __C, 4); } +__m256 test_mm256_shuffle_f32x4(__m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_shuffle_f32x4 + // CHECK: @llvm.x86.avx512.mask.shuf.f32x4 + return _mm256_shuffle_f32x4(__A, __B, 4); +} + +__m256 test_mm256_mask_shuffle_f32x4(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_mask_shuffle_f32x4 + // CHECK: @llvm.x86.avx512.mask.shuf.f32x4 + return _mm256_mask_shuffle_f32x4(__W, __U, __A, __B, 4); +} + +__m256 test_mm256_maskz_shuffle_f32x4(__mmask8 __U, __m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_maskz_shuffle_f32x4 + // CHECK: @llvm.x86.avx512.mask.shuf.f32x4 + return _mm256_maskz_shuffle_f32x4(__U, __A, __B, 4); +} + +__m256d test_mm256_shuffle_f64x2(__m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_shuffle_f64x2 + // CHECK: @llvm.x86.avx512.mask.shuf.f64x2 + return _mm256_shuffle_f64x2(__A, __B, 4); +} + +__m256d test_mm256_mask_shuffle_f64x2(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_mask_shuffle_f64x2 + // CHECK: @llvm.x86.avx512.mask.shuf.f64x2 + return _mm256_mask_shuffle_f64x2(__W, __U, __A, __B, 4); +} + +__m256d test_mm256_maskz_shuffle_f64x2(__mmask8 __U, __m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_maskz_shuffle_f64x2 + // CHECK: @llvm.x86.avx512.mask.shuf.f64x2 + return _mm256_maskz_shuffle_f64x2(__U, __A, __B, 4); +} + +__m256i test_mm256_shuffle_i32x4(__m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_shuffle_i32x4 + // CHECK: @llvm.x86.avx512.mask.shuf.i32x4 + return _mm256_shuffle_i32x4(__A, __B, 4); +} + +__m256i test_mm256_mask_shuffle_i32x4(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_mask_shuffle_i32x4 + // CHECK: @llvm.x86.avx512.mask.shuf.i32x4 + return _mm256_mask_shuffle_i32x4(__W, __U, __A, __B, 4); +} + +__m256i test_mm256_maskz_shuffle_i32x4(__mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_maskz_shuffle_i32x4 + // CHECK: @llvm.x86.avx512.mask.shuf.i32x4 + return _mm256_maskz_shuffle_i32x4(__U, __A, __B, 4); +} + +__m256i test_mm256_shuffle_i64x2(__m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_shuffle_i64x2 + // CHECK: @llvm.x86.avx512.mask.shuf.i64x2 + return _mm256_shuffle_i64x2(__A, __B, 4); +} + +__m256i test_mm256_mask_shuffle_i64x2(__m256i __W, __mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_mask_shuffle_i64x2 + // CHECK: @llvm.x86.avx512.mask.shuf.i64x2 + return _mm256_mask_shuffle_i64x2(__W, __U, __A, __B, 4); +} + +__m256i test_mm256_maskz_shuffle_i64x2(__mmask8 __U, __m256i __A, __m256i __B) { + // CHECK-LABEL: @test_mm256_maskz_shuffle_i64x2 + // CHECK: @llvm.x86.avx512.mask.shuf.i64x2 + return _mm256_maskz_shuffle_i64x2(__U, __A, __B, 4); +} + +__m128d test_mm_mask_shuffle_pd(__m128d __W, __mmask8 __U, __m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm_mask_shuffle_pd + // CHECK: @llvm.x86.avx512.mask.shuf.pd.128 + return _mm_mask_shuffle_pd(__W, __U, __A, __B, 4); +} + +__m128d test_mm_maskz_shuffle_pd(__mmask8 __U, __m128d __A, __m128d __B) { + // CHECK-LABEL: @test_mm_maskz_shuffle_pd + // CHECK: @llvm.x86.avx512.mask.shuf.pd.128 + return _mm_maskz_shuffle_pd(__U, __A, __B, 4); +} + +__m256d test_mm256_mask_shuffle_pd(__m256d __W, __mmask8 __U, __m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_mask_shuffle_pd + // CHECK: @llvm.x86.avx512.mask.shuf.pd.256 + return _mm256_mask_shuffle_pd(__W, __U, __A, __B, 4); +} + +__m256d test_mm256_maskz_shuffle_pd(__mmask8 __U, __m256d __A, __m256d __B) { + // CHECK-LABEL: @test_mm256_maskz_shuffle_pd + // CHECK: @llvm.x86.avx512.mask.shuf.pd.256 + return _mm256_maskz_shuffle_pd(__U, __A, __B, 4); +} + +__m128 test_mm_mask_shuffle_ps(__m128 __W, __mmask8 __U, __m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_mask_shuffle_ps + // CHECK: @llvm.x86.avx512.mask.shuf.ps.128 + return _mm_mask_shuffle_ps(__W, __U, __A, __B, 4); +} + +__m128 test_mm_maskz_shuffle_ps(__mmask8 __U, __m128 __A, __m128 __B) { + // CHECK-LABEL: @test_mm_maskz_shuffle_ps + // CHECK: @llvm.x86.avx512.mask.shuf.ps.128 + return _mm_maskz_shuffle_ps(__U, __A, __B, 4); +} + +__m256 test_mm256_mask_shuffle_ps(__m256 __W, __mmask8 __U, __m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_mask_shuffle_ps + // CHECK: @llvm.x86.avx512.mask.shuf.ps.256 + return _mm256_mask_shuffle_ps(__W, __U, __A, __B, 4); +} + +__m256 test_mm256_maskz_shuffle_ps(__mmask8 __U, __m256 __A, __m256 __B) { + // CHECK-LABEL: @test_mm256_maskz_shuffle_ps + // CHECK: @llvm.x86.avx512.mask.shuf.ps.256 + return _mm256_maskz_shuffle_ps(__U, __A, __B, 4); +} + +__m128d test_mm_rsqrt14_pd(__m128d __A) { + // CHECK-LABEL: @test_mm_rsqrt14_pd + // CHECK: @llvm.x86.avx512.rsqrt14.pd.128 + return _mm_rsqrt14_pd(__A); +} + +__m128d test_mm_mask_rsqrt14_pd(__m128d __W, __mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_mask_rsqrt14_pd + // CHECK: @llvm.x86.avx512.rsqrt14.pd.128 + return _mm_mask_rsqrt14_pd(__W, __U, __A); +} + +__m128d test_mm_maskz_rsqrt14_pd(__mmask8 __U, __m128d __A) { + // CHECK-LABEL: @test_mm_maskz_rsqrt14_pd + // CHECK: @llvm.x86.avx512.rsqrt14.pd.128 + return _mm_maskz_rsqrt14_pd(__U, __A); +} + +__m256d test_mm256_rsqrt14_pd(__m256d __A) { + // CHECK-LABEL: @test_mm256_rsqrt14_pd + // CHECK: @llvm.x86.avx512.rsqrt14.pd.256 + return _mm256_rsqrt14_pd(__A); +} + +__m256d test_mm256_mask_rsqrt14_pd(__m256d __W, __mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_mask_rsqrt14_pd + // CHECK: @llvm.x86.avx512.rsqrt14.pd.256 + return _mm256_mask_rsqrt14_pd(__W, __U, __A); +} + +__m256d test_mm256_maskz_rsqrt14_pd(__mmask8 __U, __m256d __A) { + // CHECK-LABEL: @test_mm256_maskz_rsqrt14_pd + // CHECK: @llvm.x86.avx512.rsqrt14.pd.256 + return _mm256_maskz_rsqrt14_pd(__U, __A); +} + +__m128 test_mm_rsqrt14_ps(__m128 __A) { + // CHECK-LABEL: @test_mm_rsqrt14_ps + // CHECK: @llvm.x86.avx512.rsqrt14.ps.128 + return _mm_rsqrt14_ps(__A); +} + +__m128 test_mm_mask_rsqrt14_ps(__m128 __W, __mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_mask_rsqrt14_ps + // CHECK: @llvm.x86.avx512.rsqrt14.ps.128 + return _mm_mask_rsqrt14_ps(__W, __U, __A); +} + +__m128 test_mm_maskz_rsqrt14_ps(__mmask8 __U, __m128 __A) { + // CHECK-LABEL: @test_mm_maskz_rsqrt14_ps + // CHECK: @llvm.x86.avx512.rsqrt14.ps.128 + return _mm_maskz_rsqrt14_ps(__U, __A); +} + +__m256 test_mm256_rsqrt14_ps(__m256 __A) { + // CHECK-LABEL: @test_mm256_rsqrt14_ps + // CHECK: @llvm.x86.avx512.rsqrt14.ps.256 + return _mm256_rsqrt14_ps(__A); +} + +__m256 test_mm256_mask_rsqrt14_ps(__m256 __W, __mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_mask_rsqrt14_ps + // CHECK: @llvm.x86.avx512.rsqrt14.ps.256 + return _mm256_mask_rsqrt14_ps(__W, __U, __A); +} + +__m256 test_mm256_maskz_rsqrt14_ps(__mmask8 __U, __m256 __A) { + // CHECK-LABEL: @test_mm256_maskz_rsqrt14_ps + // CHECK: @llvm.x86.avx512.rsqrt14.ps.256 + return _mm256_maskz_rsqrt14_ps(__U, __A); +} |