1 // RUN: %clang_cc1 %s -O0 -triple=x86_64-apple-darwin -ffreestanding -target-feature +avx512f -target-feature +avx512vl -emit-llvm -o - -Werror | FileCheck %s
2 
3 #include <immintrin.h>
4 
test_mm256_cmpeq_epi32_mask(__m256i __a,__m256i __b)5 __mmask8 test_mm256_cmpeq_epi32_mask(__m256i __a, __m256i __b) {
6   // CHECK-LABEL: @test_mm256_cmpeq_epi32_mask
7   // CHECK: @llvm.x86.avx512.mask.pcmpeq.d.256
8   return (__mmask8)_mm256_cmpeq_epi32_mask(__a, __b);
9 }
10 
test_mm256_mask_cmpeq_epi32_mask(__mmask8 __u,__m256i __a,__m256i __b)11 __mmask8 test_mm256_mask_cmpeq_epi32_mask(__mmask8 __u, __m256i __a, __m256i __b) {
12   // CHECK-LABEL: @test_mm256_mask_cmpeq_epi32_mask
13   // CHECK: @llvm.x86.avx512.mask.pcmpeq.d.256
14   return (__mmask8)_mm256_mask_cmpeq_epi32_mask(__u, __a, __b);
15 }
16 
test_mm_cmpeq_epi32_mask(__m128i __a,__m128i __b)17 __mmask8 test_mm_cmpeq_epi32_mask(__m128i __a, __m128i __b) {
18   // CHECK-LABEL: @test_mm_cmpeq_epi32_mask
19   // CHECK: @llvm.x86.avx512.mask.pcmpeq.d.128
20   return (__mmask8)_mm_cmpeq_epi32_mask(__a, __b);
21 }
22 
test_mm_mask_cmpeq_epi32_mask(__mmask8 __u,__m128i __a,__m128i __b)23 __mmask8 test_mm_mask_cmpeq_epi32_mask(__mmask8 __u, __m128i __a, __m128i __b) {
24   // CHECK-LABEL: @test_mm_mask_cmpeq_epi32_mask
25   // CHECK: @llvm.x86.avx512.mask.pcmpeq.d.128
26   return (__mmask8)_mm_mask_cmpeq_epi32_mask(__u, __a, __b);
27 }
28 
test_mm256_cmpeq_epi64_mask(__m256i __a,__m256i __b)29 __mmask8 test_mm256_cmpeq_epi64_mask(__m256i __a, __m256i __b) {
30   // CHECK-LABEL: @test_mm256_cmpeq_epi64_mask
31   // CHECK: @llvm.x86.avx512.mask.pcmpeq.q.256
32   return (__mmask8)_mm256_cmpeq_epi64_mask(__a, __b);
33 }
34 
test_mm256_mask_cmpeq_epi64_mask(__mmask8 __u,__m256i __a,__m256i __b)35 __mmask8 test_mm256_mask_cmpeq_epi64_mask(__mmask8 __u, __m256i __a, __m256i __b) {
36   // CHECK-LABEL: @test_mm256_mask_cmpeq_epi64_mask
37   // CHECK: @llvm.x86.avx512.mask.pcmpeq.q.256
38   return (__mmask8)_mm256_mask_cmpeq_epi64_mask(__u, __a, __b);
39 }
40 
test_mm_cmpeq_epi64_mask(__m128i __a,__m128i __b)41 __mmask8 test_mm_cmpeq_epi64_mask(__m128i __a, __m128i __b) {
42   // CHECK-LABEL: @test_mm_cmpeq_epi64_mask
43   // CHECK: @llvm.x86.avx512.mask.pcmpeq.q.128
44   return (__mmask8)_mm_cmpeq_epi64_mask(__a, __b);
45 }
46 
test_mm_mask_cmpeq_epi64_mask(__mmask8 __u,__m128i __a,__m128i __b)47 __mmask8 test_mm_mask_cmpeq_epi64_mask(__mmask8 __u, __m128i __a, __m128i __b) {
48   // CHECK-LABEL: @test_mm_mask_cmpeq_epi64_mask
49   // CHECK: @llvm.x86.avx512.mask.pcmpeq.q.128
50   return (__mmask8)_mm_mask_cmpeq_epi64_mask(__u, __a, __b);
51 }
52