Skip to content

Commit 92cb041

Browse files
committed
[X86] avx512vnni-builtins.c / avx512vlvnni-builtins.c - add C/C++ and 32/64-bit test coverage
1 parent b045729 commit 92cb041

File tree

2 files changed

+80
-74
lines changed

2 files changed

+80
-74
lines changed
Lines changed: 52 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,164 +1,167 @@
1-
// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -target-feature +avx512vl -emit-llvm -o - -Wall -Werror | FileCheck %s
1+
// RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -target-feature +avx512vl -emit-llvm -o - -Wall -Werror | FileCheck %s
2+
// RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +avx512vnni -target-feature +avx512vl -emit-llvm -o - -Wall -Werror | FileCheck %s
3+
// RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -target-feature +avx512vl -emit-llvm -o - -Wall -Werror | FileCheck %s
4+
// RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +avx512vnni -target-feature +avx512vl -emit-llvm -o - -Wall -Werror | FileCheck %s
25

36
#include <immintrin.h>
47

58
__m256i test_mm256_mask_dpbusd_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
6-
// CHECK-LABEL: @test_mm256_mask_dpbusd_epi32
7-
// CHECK: @llvm.x86.avx512.vpdpbusd.256
9+
// CHECK-LABEL: test_mm256_mask_dpbusd_epi32
10+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
811
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
912
return _mm256_mask_dpbusd_epi32(__S, __U, __A, __B);
1013
}
1114

1215
__m256i test_mm256_maskz_dpbusd_epi32(__mmask8 __U, __m256i __S, __m256i __A, __m256i __B) {
13-
// CHECK-LABEL: @test_mm256_maskz_dpbusd_epi32
14-
// CHECK: @llvm.x86.avx512.vpdpbusd.256
16+
// CHECK-LABEL: test_mm256_maskz_dpbusd_epi32
17+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
1518
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
1619
return _mm256_maskz_dpbusd_epi32(__U, __S, __A, __B);
1720
}
1821

1922
__m256i test_mm256_dpbusd_epi32(__m256i __S, __m256i __A, __m256i __B) {
20-
// CHECK-LABEL: @test_mm256_dpbusd_epi32
21-
// CHECK: @llvm.x86.avx512.vpdpbusd.256
23+
// CHECK-LABEL: test_mm256_dpbusd_epi32
24+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
2225
return _mm256_dpbusd_epi32(__S, __A, __B);
2326
}
2427

2528
__m256i test_mm256_mask_dpbusds_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
26-
// CHECK-LABEL: @test_mm256_mask_dpbusds_epi32
27-
// CHECK: @llvm.x86.avx512.vpdpbusds.256
29+
// CHECK-LABEL: test_mm256_mask_dpbusds_epi32
30+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
2831
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
2932
return _mm256_mask_dpbusds_epi32(__S, __U, __A, __B);
3033
}
3134

3235
__m256i test_mm256_maskz_dpbusds_epi32(__mmask8 __U, __m256i __S, __m256i __A, __m256i __B) {
33-
// CHECK-LABEL: @test_mm256_maskz_dpbusds_epi32
34-
// CHECK: @llvm.x86.avx512.vpdpbusds.256
36+
// CHECK-LABEL: test_mm256_maskz_dpbusds_epi32
37+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
3538
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
3639
return _mm256_maskz_dpbusds_epi32(__U, __S, __A, __B);
3740
}
3841

3942
__m256i test_mm256_dpbusds_epi32(__m256i __S, __m256i __A, __m256i __B) {
40-
// CHECK-LABEL: @test_mm256_dpbusds_epi32
41-
// CHECK: @llvm.x86.avx512.vpdpbusds.256
43+
// CHECK-LABEL: test_mm256_dpbusds_epi32
44+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpbusds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
4245
return _mm256_dpbusds_epi32(__S, __A, __B);
4346
}
4447

4548
__m256i test_mm256_mask_dpwssd_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
46-
// CHECK-LABEL: @test_mm256_mask_dpwssd_epi32
47-
// CHECK: @llvm.x86.avx512.vpdpwssd.256
49+
// CHECK-LABEL: test_mm256_mask_dpwssd_epi32
50+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
4851
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
4952
return _mm256_mask_dpwssd_epi32(__S, __U, __A, __B);
5053
}
5154

5255
__m256i test_mm256_maskz_dpwssd_epi32(__mmask8 __U, __m256i __S, __m256i __A, __m256i __B) {
53-
// CHECK-LABEL: @test_mm256_maskz_dpwssd_epi32
54-
// CHECK: @llvm.x86.avx512.vpdpwssd.256
56+
// CHECK-LABEL: test_mm256_maskz_dpwssd_epi32
57+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
5558
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
5659
return _mm256_maskz_dpwssd_epi32(__U, __S, __A, __B);
5760
}
5861

5962
__m256i test_mm256_dpwssd_epi32(__m256i __S, __m256i __A, __m256i __B) {
60-
// CHECK-LABEL: @test_mm256_dpwssd_epi32
61-
// CHECK: @llvm.x86.avx512.vpdpwssd.256
63+
// CHECK-LABEL: test_mm256_dpwssd_epi32
64+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssd.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
6265
return _mm256_dpwssd_epi32(__S, __A, __B);
6366
}
6467

6568
__m256i test_mm256_mask_dpwssds_epi32(__m256i __S, __mmask8 __U, __m256i __A, __m256i __B) {
66-
// CHECK-LABEL: @test_mm256_mask_dpwssds_epi32
67-
// CHECK: @llvm.x86.avx512.vpdpwssds.256
69+
// CHECK-LABEL: test_mm256_mask_dpwssds_epi32
70+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
6871
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
6972
return _mm256_mask_dpwssds_epi32(__S, __U, __A, __B);
7073
}
7174

7275
__m256i test_mm256_maskz_dpwssds_epi32(__mmask8 __U, __m256i __S, __m256i __A, __m256i __B) {
73-
// CHECK-LABEL: @test_mm256_maskz_dpwssds_epi32
74-
// CHECK: @llvm.x86.avx512.vpdpwssds.256
76+
// CHECK-LABEL: test_mm256_maskz_dpwssds_epi32
77+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
7578
// CHECK: select <8 x i1> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}}
7679
return _mm256_maskz_dpwssds_epi32(__U, __S, __A, __B);
7780
}
7881

7982
__m256i test_mm256_dpwssds_epi32(__m256i __S, __m256i __A, __m256i __B) {
80-
// CHECK-LABEL: @test_mm256_dpwssds_epi32
81-
// CHECK: @llvm.x86.avx512.vpdpwssds.256
83+
// CHECK-LABEL: test_mm256_dpwssds_epi32
84+
// CHECK: call <8 x i32> @llvm.x86.avx512.vpdpwssds.256(<8 x i32> %{{.*}}, <8 x i32> %{{.*}}, <8 x i32> %{{.*}})
8285
return _mm256_dpwssds_epi32(__S, __A, __B);
8386
}
8487

8588
__m128i test_mm_mask_dpbusd_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
86-
// CHECK-LABEL: @test_mm_mask_dpbusd_epi32
87-
// CHECK: @llvm.x86.avx512.vpdpbusd.128
89+
// CHECK-LABEL: test_mm_mask_dpbusd_epi32
90+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
8891
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
8992
return _mm_mask_dpbusd_epi32(__S, __U, __A, __B);
9093
}
9194

9295
__m128i test_mm_maskz_dpbusd_epi32(__mmask8 __U, __m128i __S, __m128i __A, __m128i __B) {
93-
// CHECK-LABEL: @test_mm_maskz_dpbusd_epi32
94-
// CHECK: @llvm.x86.avx512.vpdpbusd.128
96+
// CHECK-LABEL: test_mm_maskz_dpbusd_epi32
97+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
9598
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
9699
return _mm_maskz_dpbusd_epi32(__U, __S, __A, __B);
97100
}
98101

99102
__m128i test_mm_dpbusd_epi32(__m128i __S, __m128i __A, __m128i __B) {
100-
// CHECK-LABEL: @test_mm_dpbusd_epi32
101-
// CHECK: @llvm.x86.avx512.vpdpbusd.128
103+
// CHECK-LABEL: test_mm_dpbusd_epi32
104+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
102105
return _mm_dpbusd_epi32(__S, __A, __B);
103106
}
104107

105108
__m128i test_mm_mask_dpbusds_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
106-
// CHECK-LABEL: @test_mm_mask_dpbusds_epi32
107-
// CHECK: @llvm.x86.avx512.vpdpbusds.128
109+
// CHECK-LABEL: test_mm_mask_dpbusds_epi32
110+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
108111
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
109112
return _mm_mask_dpbusds_epi32(__S, __U, __A, __B);
110113
}
111114

112115
__m128i test_mm_maskz_dpbusds_epi32(__mmask8 __U, __m128i __S, __m128i __A, __m128i __B) {
113-
// CHECK-LABEL: @test_mm_maskz_dpbusds_epi32
114-
// CHECK: @llvm.x86.avx512.vpdpbusds.128
116+
// CHECK-LABEL: test_mm_maskz_dpbusds_epi32
117+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
115118
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
116119
return _mm_maskz_dpbusds_epi32(__U, __S, __A, __B);
117120
}
118121

119122
__m128i test_mm_dpbusds_epi32(__m128i __S, __m128i __A, __m128i __B) {
120-
// CHECK-LABEL: @test_mm_dpbusds_epi32
121-
// CHECK: @llvm.x86.avx512.vpdpbusds.128
123+
// CHECK-LABEL: test_mm_dpbusds_epi32
124+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpbusds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
122125
return _mm_dpbusds_epi32(__S, __A, __B);
123126
}
124127

125128
__m128i test_mm_mask_dpwssd_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
126-
// CHECK-LABEL: @test_mm_mask_dpwssd_epi32
127-
// CHECK: @llvm.x86.avx512.vpdpwssd.128
129+
// CHECK-LABEL: test_mm_mask_dpwssd_epi32
130+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
128131
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
129132
return _mm_mask_dpwssd_epi32(__S, __U, __A, __B);
130133
}
131134

132135
__m128i test_mm_maskz_dpwssd_epi32(__mmask8 __U, __m128i __S, __m128i __A, __m128i __B) {
133-
// CHECK-LABEL: @test_mm_maskz_dpwssd_epi32
134-
// CHECK: @llvm.x86.avx512.vpdpwssd.128
136+
// CHECK-LABEL: test_mm_maskz_dpwssd_epi32
137+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
135138
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
136139
return _mm_maskz_dpwssd_epi32(__U, __S, __A, __B);
137140
}
138141

139142
__m128i test_mm_dpwssd_epi32(__m128i __S, __m128i __A, __m128i __B) {
140-
// CHECK-LABEL: @test_mm_dpwssd_epi32
141-
// CHECK: @llvm.x86.avx512.vpdpwssd.128
143+
// CHECK-LABEL: test_mm_dpwssd_epi32
144+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssd.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
142145
return _mm_dpwssd_epi32(__S, __A, __B);
143146
}
144147

145148
__m128i test_mm_mask_dpwssds_epi32(__m128i __S, __mmask8 __U, __m128i __A, __m128i __B) {
146-
// CHECK-LABEL: @test_mm_mask_dpwssds_epi32
147-
// CHECK: @llvm.x86.avx512.vpdpwssds.128
149+
// CHECK-LABEL: test_mm_mask_dpwssds_epi32
150+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
148151
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
149152
return _mm_mask_dpwssds_epi32(__S, __U, __A, __B);
150153
}
151154

152155
__m128i test_mm_maskz_dpwssds_epi32(__mmask8 __U, __m128i __S, __m128i __A, __m128i __B) {
153-
// CHECK-LABEL: @test_mm_maskz_dpwssds_epi32
154-
// CHECK: @llvm.x86.avx512.vpdpwssds.128
156+
// CHECK-LABEL: test_mm_maskz_dpwssds_epi32
157+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
155158
// CHECK: select <4 x i1> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}}
156159
return _mm_maskz_dpwssds_epi32(__U, __S, __A, __B);
157160
}
158161

159162
__m128i test_mm_dpwssds_epi32(__m128i __S, __m128i __A, __m128i __B) {
160-
// CHECK-LABEL: @test_mm_dpwssds_epi32
161-
// CHECK: @llvm.x86.avx512.vpdpwssds.128
163+
// CHECK-LABEL: test_mm_dpwssds_epi32
164+
// CHECK: call <4 x i32> @llvm.x86.avx512.vpdpwssds.128(<4 x i32> %{{.*}}, <4 x i32> %{{.*}}, <4 x i32> %{{.*}})
162165
return _mm_dpwssds_epi32(__S, __A, __B);
163166
}
164167

Lines changed: 28 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,84 +1,87 @@
1-
// RUN: %clang_cc1 -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s
1+
// RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s
2+
// RUN: %clang_cc1 -x c -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s
3+
// RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=x86_64-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s
4+
// RUN: %clang_cc1 -x c++ -flax-vector-conversions=none -ffreestanding %s -triple=i386-apple-darwin -target-feature +avx512vnni -emit-llvm -o - -Wall -Werror | FileCheck %s
25

36
#include <immintrin.h>
47

58
__m512i test_mm512_mask_dpbusd_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
6-
// CHECK-LABEL: @test_mm512_mask_dpbusd_epi32
7-
// CHECK: @llvm.x86.avx512.vpdpbusd.512
9+
// CHECK-LABEL: test_mm512_mask_dpbusd_epi32
10+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
811
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
912
return _mm512_mask_dpbusd_epi32(__S, __U, __A, __B);
1013
}
1114

1215
__m512i test_mm512_maskz_dpbusd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
13-
// CHECK-LABEL: @test_mm512_maskz_dpbusd_epi32
14-
// CHECK: @llvm.x86.avx512.vpdpbusd.512
16+
// CHECK-LABEL: test_mm512_maskz_dpbusd_epi32
17+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
1518
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
1619
return _mm512_maskz_dpbusd_epi32(__U, __S, __A, __B);
1720
}
1821

1922
__m512i test_mm512_dpbusd_epi32(__m512i __S, __m512i __A, __m512i __B) {
20-
// CHECK-LABEL: @test_mm512_dpbusd_epi32
21-
// CHECK: @llvm.x86.avx512.vpdpbusd.512
23+
// CHECK-LABEL: test_mm512_dpbusd_epi32
24+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
2225
return _mm512_dpbusd_epi32(__S, __A, __B);
2326
}
2427

2528
__m512i test_mm512_mask_dpbusds_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
26-
// CHECK-LABEL: @test_mm512_mask_dpbusds_epi32
27-
// CHECK: @llvm.x86.avx512.vpdpbusds.51
29+
// CHECK-LABEL: test_mm512_mask_dpbusds_epi32
30+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
2831
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
2932
return _mm512_mask_dpbusds_epi32(__S, __U, __A, __B);
3033
}
3134

3235
__m512i test_mm512_maskz_dpbusds_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
33-
// CHECK-LABEL: @test_mm512_maskz_dpbusds_epi32
34-
// CHECK: @llvm.x86.avx512.vpdpbusds.512
36+
// CHECK-LABEL: test_mm512_maskz_dpbusds_epi32
37+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
3538
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
3639
return _mm512_maskz_dpbusds_epi32(__U, __S, __A, __B);
3740
}
3841

3942
__m512i test_mm512_dpbusds_epi32(__m512i __S, __m512i __A, __m512i __B) {
40-
// CHECK-LABEL: @test_mm512_dpbusds_epi32
41-
// CHECK: @llvm.x86.avx512.vpdpbusds.512
43+
// CHECK-LABEL: test_mm512_dpbusds_epi32
44+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpbusds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
4245
return _mm512_dpbusds_epi32(__S, __A, __B);
4346
}
4447

4548
__m512i test_mm512_mask_dpwssd_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
46-
// CHECK-LABEL: @test_mm512_mask_dpwssd_epi32
47-
// CHECK: @llvm.x86.avx512.vpdpwssd.512
49+
// CHECK-LABEL: test_mm512_mask_dpwssd_epi32
50+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
4851
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
4952
return _mm512_mask_dpwssd_epi32(__S, __U, __A, __B);
5053
}
5154

5255
__m512i test_mm512_maskz_dpwssd_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
53-
// CHECK-LABEL: @test_mm512_maskz_dpwssd_epi32
54-
// CHECK: @llvm.x86.avx512.vpdpwssd.512
56+
// CHECK-LABEL: test_mm512_maskz_dpwssd_epi32
57+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
5558
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
5659
return _mm512_maskz_dpwssd_epi32(__U, __S, __A, __B);
5760
}
5861

5962
__m512i test_mm512_dpwssd_epi32(__m512i __S, __m512i __A, __m512i __B) {
60-
// CHECK-LABEL: @test_mm512_dpwssd_epi32
61-
// CHECK: @llvm.x86.avx512.vpdpwssd.512
63+
// CHECK-LABEL: test_mm512_dpwssd_epi32
64+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssd.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
6265
return _mm512_dpwssd_epi32(__S, __A, __B);
6366
}
6467

6568
__m512i test_mm512_mask_dpwssds_epi32(__m512i __S, __mmask16 __U, __m512i __A, __m512i __B) {
66-
// CHECK-LABEL: @test_mm512_mask_dpwssds_epi32
67-
// CHECK: @llvm.x86.avx512.vpdpwssds.512
69+
// CHECK-LABEL: test_mm512_mask_dpwssds_epi32
70+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
6871
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
6972
return _mm512_mask_dpwssds_epi32(__S, __U, __A, __B);
7073
}
7174

7275
__m512i test_mm512_maskz_dpwssds_epi32(__mmask16 __U, __m512i __S, __m512i __A, __m512i __B) {
73-
// CHECK-LABEL: @test_mm512_maskz_dpwssds_epi32
74-
// CHECK: @llvm.x86.avx512.vpdpwssds.512
76+
// CHECK-LABEL: test_mm512_maskz_dpwssds_epi32
77+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
7578
// CHECK: select <16 x i1> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}}
7679
return _mm512_maskz_dpwssds_epi32(__U, __S, __A, __B);
7780
}
7881

7982
__m512i test_mm512_dpwssds_epi32(__m512i __S, __m512i __A, __m512i __B) {
80-
// CHECK-LABEL: @test_mm512_dpwssds_epi32
81-
// CHECK: @llvm.x86.avx512.vpdpwssds.512
83+
// CHECK-LABEL: test_mm512_dpwssds_epi32
84+
// CHECK: call <16 x i32> @llvm.x86.avx512.vpdpwssds.512(<16 x i32> %{{.*}}, <16 x i32> %{{.*}}, <16 x i32> %{{.*}})
8285
return _mm512_dpwssds_epi32(__S, __A, __B);
8386
}
8487

0 commit comments

Comments
 (0)