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