Skip to content

Commit cb109aa

Browse files
committed
Add AVX10.2 to intrinsic upgrade test
1 parent 3e2f9df commit cb109aa

File tree

1 file changed

+122
-0
lines changed

1 file changed

+122
-0
lines changed

llvm/test/CodeGen/X86/avxvnniint8-intrinsics-upgrade.ll

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 6
22
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avxvnniint8 --show-mc-encoding | FileCheck %s --check-prefixes=X86
33
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avxvnniint8 --show-mc-encoding | FileCheck %s --check-prefixes=X64
4+
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+avx10.2 --show-mc-encoding | FileCheck %s --check-prefixes=AVX10-X86
5+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx10.2 --show-mc-encoding | FileCheck %s --check-prefixes=AVX10-X64
46

57
declare <4 x i32> @llvm.x86.avx2.vpdpbssd.128(<4 x i32>, <4 x i32>, <4 x i32>)
68

@@ -14,6 +16,16 @@ define <4 x i32>@test_int_x86_avx2_vpdpbssd_128(<4 x i32> %x0, <4 x i32> %x1, <4
1416
; X64: # %bb.0:
1517
; X64-NEXT: vpdpbssd %xmm2, %xmm1, %xmm0 # encoding: [0xc4,0xe2,0x73,0x50,0xc2]
1618
; X64-NEXT: retq # encoding: [0xc3]
19+
;
20+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbssd_128:
21+
; AVX10-X86: # %bb.0:
22+
; AVX10-X86-NEXT: vpdpbssd %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x77,0x08,0x50,0xc2]
23+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
24+
;
25+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbssd_128:
26+
; AVX10-X64: # %bb.0:
27+
; AVX10-X64-NEXT: vpdpbssd %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x77,0x08,0x50,0xc2]
28+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
1729
%res = call <4 x i32> @llvm.x86.avx2.vpdpbssd.128(<4 x i32> %x0, <4 x i32> %x1, <4 x i32> %x2)
1830
ret <4 x i32> %res
1931
}
@@ -30,6 +42,16 @@ define <4 x i32>@test_int_x86_avx2_vpdpbssds_128(<4 x i32> %x0, <4 x i32> %x1, <
3042
; X64: # %bb.0:
3143
; X64-NEXT: vpdpbssds %xmm2, %xmm1, %xmm0 # encoding: [0xc4,0xe2,0x73,0x51,0xc2]
3244
; X64-NEXT: retq # encoding: [0xc3]
45+
;
46+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbssds_128:
47+
; AVX10-X86: # %bb.0:
48+
; AVX10-X86-NEXT: vpdpbssds %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x77,0x08,0x51,0xc2]
49+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
50+
;
51+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbssds_128:
52+
; AVX10-X64: # %bb.0:
53+
; AVX10-X64-NEXT: vpdpbssds %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x77,0x08,0x51,0xc2]
54+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
3355
%res = call <4 x i32> @llvm.x86.avx2.vpdpbssds.128(<4 x i32> %x0, <4 x i32> %x1, <4 x i32> %x2)
3456
ret <4 x i32> %res
3557
}
@@ -46,6 +68,16 @@ define <8 x i32>@test_int_x86_avx2_vpdpbssd_256(<8 x i32> %x0, <8 x i32> %x1, <8
4668
; X64: # %bb.0:
4769
; X64-NEXT: vpdpbssd %ymm2, %ymm1, %ymm0 # encoding: [0xc4,0xe2,0x77,0x50,0xc2]
4870
; X64-NEXT: retq # encoding: [0xc3]
71+
;
72+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbssd_256:
73+
; AVX10-X86: # %bb.0:
74+
; AVX10-X86-NEXT: vpdpbssd %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x77,0x28,0x50,0xc2]
75+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
76+
;
77+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbssd_256:
78+
; AVX10-X64: # %bb.0:
79+
; AVX10-X64-NEXT: vpdpbssd %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x77,0x28,0x50,0xc2]
80+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
4981
%res = call <8 x i32> @llvm.x86.avx2.vpdpbssd.256(<8 x i32> %x0, <8 x i32> %x1, <8 x i32> %x2)
5082
ret <8 x i32> %res
5183
}
@@ -62,6 +94,16 @@ define <8 x i32>@test_int_x86_avx2_vpdpbssds_256(<8 x i32> %x0, <8 x i32> %x1, <
6294
; X64: # %bb.0:
6395
; X64-NEXT: vpdpbssds %ymm2, %ymm1, %ymm0 # encoding: [0xc4,0xe2,0x77,0x51,0xc2]
6496
; X64-NEXT: retq # encoding: [0xc3]
97+
;
98+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbssds_256:
99+
; AVX10-X86: # %bb.0:
100+
; AVX10-X86-NEXT: vpdpbssds %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x77,0x28,0x51,0xc2]
101+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
102+
;
103+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbssds_256:
104+
; AVX10-X64: # %bb.0:
105+
; AVX10-X64-NEXT: vpdpbssds %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x77,0x28,0x51,0xc2]
106+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
65107
%res = call <8 x i32> @llvm.x86.avx2.vpdpbssds.256(<8 x i32> %x0, <8 x i32> %x1, <8 x i32> %x2)
66108
ret <8 x i32> %res
67109
}
@@ -78,6 +120,16 @@ define <4 x i32>@test_int_x86_avx2_vpdpbsud_128(<4 x i32> %x0, <4 x i32> %x1, <4
78120
; X64: # %bb.0:
79121
; X64-NEXT: vpdpbsud %xmm2, %xmm1, %xmm0 # encoding: [0xc4,0xe2,0x72,0x50,0xc2]
80122
; X64-NEXT: retq # encoding: [0xc3]
123+
;
124+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbsud_128:
125+
; AVX10-X86: # %bb.0:
126+
; AVX10-X86-NEXT: vpdpbsud %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x76,0x08,0x50,0xc2]
127+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
128+
;
129+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbsud_128:
130+
; AVX10-X64: # %bb.0:
131+
; AVX10-X64-NEXT: vpdpbsud %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x76,0x08,0x50,0xc2]
132+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
81133
%res = call <4 x i32> @llvm.x86.avx2.vpdpbsud.128(<4 x i32> %x0, <4 x i32> %x1, <4 x i32> %x2)
82134
ret <4 x i32> %res
83135
}
@@ -94,6 +146,16 @@ define <4 x i32>@test_int_x86_avx2_vpdpbsuds_128(<4 x i32> %x0, <4 x i32> %x1, <
94146
; X64: # %bb.0:
95147
; X64-NEXT: vpdpbsuds %xmm2, %xmm1, %xmm0 # encoding: [0xc4,0xe2,0x72,0x51,0xc2]
96148
; X64-NEXT: retq # encoding: [0xc3]
149+
;
150+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbsuds_128:
151+
; AVX10-X86: # %bb.0:
152+
; AVX10-X86-NEXT: vpdpbsuds %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x76,0x08,0x51,0xc2]
153+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
154+
;
155+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbsuds_128:
156+
; AVX10-X64: # %bb.0:
157+
; AVX10-X64-NEXT: vpdpbsuds %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x76,0x08,0x51,0xc2]
158+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
97159
%res = call <4 x i32> @llvm.x86.avx2.vpdpbsuds.128(<4 x i32> %x0, <4 x i32> %x1, <4 x i32> %x2)
98160
ret <4 x i32> %res
99161
}
@@ -110,6 +172,16 @@ define <8 x i32>@test_int_x86_avx2_vpdpbsud_256(<8 x i32> %x0, <8 x i32> %x1, <8
110172
; X64: # %bb.0:
111173
; X64-NEXT: vpdpbsud %ymm2, %ymm1, %ymm0 # encoding: [0xc4,0xe2,0x76,0x50,0xc2]
112174
; X64-NEXT: retq # encoding: [0xc3]
175+
;
176+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbsud_256:
177+
; AVX10-X86: # %bb.0:
178+
; AVX10-X86-NEXT: vpdpbsud %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x76,0x28,0x50,0xc2]
179+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
180+
;
181+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbsud_256:
182+
; AVX10-X64: # %bb.0:
183+
; AVX10-X64-NEXT: vpdpbsud %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x76,0x28,0x50,0xc2]
184+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
113185
%res = call <8 x i32> @llvm.x86.avx2.vpdpbsud.256(<8 x i32> %x0, <8 x i32> %x1, <8 x i32> %x2)
114186
ret <8 x i32> %res
115187
}
@@ -126,6 +198,16 @@ define <8 x i32>@test_int_x86_avx2_vpdpbsuds_256(<8 x i32> %x0, <8 x i32> %x1, <
126198
; X64: # %bb.0:
127199
; X64-NEXT: vpdpbsuds %ymm2, %ymm1, %ymm0 # encoding: [0xc4,0xe2,0x76,0x51,0xc2]
128200
; X64-NEXT: retq # encoding: [0xc3]
201+
;
202+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbsuds_256:
203+
; AVX10-X86: # %bb.0:
204+
; AVX10-X86-NEXT: vpdpbsuds %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x76,0x28,0x51,0xc2]
205+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
206+
;
207+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbsuds_256:
208+
; AVX10-X64: # %bb.0:
209+
; AVX10-X64-NEXT: vpdpbsuds %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x76,0x28,0x51,0xc2]
210+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
129211
%res = call <8 x i32> @llvm.x86.avx2.vpdpbsuds.256(<8 x i32> %x0, <8 x i32> %x1, <8 x i32> %x2)
130212
ret <8 x i32> %res
131213
}
@@ -142,6 +224,16 @@ define <4 x i32>@test_int_x86_avx2_vpdpbuud(<4 x i32> %x0, <4 x i32> %x1, <4 x i
142224
; X64: # %bb.0:
143225
; X64-NEXT: vpdpbuud %xmm2, %xmm1, %xmm0 # encoding: [0xc4,0xe2,0x70,0x50,0xc2]
144226
; X64-NEXT: retq # encoding: [0xc3]
227+
;
228+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbuud:
229+
; AVX10-X86: # %bb.0:
230+
; AVX10-X86-NEXT: vpdpbuud %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x74,0x08,0x50,0xc2]
231+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
232+
;
233+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbuud:
234+
; AVX10-X64: # %bb.0:
235+
; AVX10-X64-NEXT: vpdpbuud %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x74,0x08,0x50,0xc2]
236+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
145237
%res = call <4 x i32> @llvm.x86.avx2.vpdpbuud.128(<4 x i32> %x0, <4 x i32> %x1, <4 x i32> %x2)
146238
ret <4 x i32> %res
147239
}
@@ -158,6 +250,16 @@ define <4 x i32>@test_int_x86_avx2_vpdpbuuds_128(<4 x i32> %x0, <4 x i32> %x1, <
158250
; X64: # %bb.0:
159251
; X64-NEXT: vpdpbuuds %xmm2, %xmm1, %xmm0 # encoding: [0xc4,0xe2,0x70,0x51,0xc2]
160252
; X64-NEXT: retq # encoding: [0xc3]
253+
;
254+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbuuds_128:
255+
; AVX10-X86: # %bb.0:
256+
; AVX10-X86-NEXT: vpdpbuuds %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x74,0x08,0x51,0xc2]
257+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
258+
;
259+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbuuds_128:
260+
; AVX10-X64: # %bb.0:
261+
; AVX10-X64-NEXT: vpdpbuuds %xmm2, %xmm1, %xmm0 # encoding: [0x62,0xf2,0x74,0x08,0x51,0xc2]
262+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
161263
%res = call <4 x i32> @llvm.x86.avx2.vpdpbuuds.128(<4 x i32> %x0, <4 x i32> %x1, <4 x i32> %x2)
162264
ret <4 x i32> %res
163265
}
@@ -174,6 +276,16 @@ define <8 x i32>@test_int_x86_avx2_vpdpbuud_256(<8 x i32> %x0, <8 x i32> %x1, <8
174276
; X64: # %bb.0:
175277
; X64-NEXT: vpdpbuud %ymm2, %ymm1, %ymm0 # encoding: [0xc4,0xe2,0x74,0x50,0xc2]
176278
; X64-NEXT: retq # encoding: [0xc3]
279+
;
280+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbuud_256:
281+
; AVX10-X86: # %bb.0:
282+
; AVX10-X86-NEXT: vpdpbuud %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x74,0x28,0x50,0xc2]
283+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
284+
;
285+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbuud_256:
286+
; AVX10-X64: # %bb.0:
287+
; AVX10-X64-NEXT: vpdpbuud %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x74,0x28,0x50,0xc2]
288+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
177289
%res = call <8 x i32> @llvm.x86.avx2.vpdpbuud.256(<8 x i32> %x0, <8 x i32> %x1, <8 x i32> %x2)
178290
ret <8 x i32> %res
179291
}
@@ -190,6 +302,16 @@ define <8 x i32>@test_int_x86_avx2_vpdpbuuds_256(<8 x i32> %x0, <8 x i32> %x1, <
190302
; X64: # %bb.0:
191303
; X64-NEXT: vpdpbuuds %ymm2, %ymm1, %ymm0 # encoding: [0xc4,0xe2,0x74,0x51,0xc2]
192304
; X64-NEXT: retq # encoding: [0xc3]
305+
;
306+
; AVX10-X86-LABEL: test_int_x86_avx2_vpdpbuuds_256:
307+
; AVX10-X86: # %bb.0:
308+
; AVX10-X86-NEXT: vpdpbuuds %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x74,0x28,0x51,0xc2]
309+
; AVX10-X86-NEXT: retl # encoding: [0xc3]
310+
;
311+
; AVX10-X64-LABEL: test_int_x86_avx2_vpdpbuuds_256:
312+
; AVX10-X64: # %bb.0:
313+
; AVX10-X64-NEXT: vpdpbuuds %ymm2, %ymm1, %ymm0 # encoding: [0x62,0xf2,0x74,0x28,0x51,0xc2]
314+
; AVX10-X64-NEXT: retq # encoding: [0xc3]
193315
%res = call <8 x i32> @llvm.x86.avx2.vpdpbuuds.256(<8 x i32> %x0, <8 x i32> %x1, <8 x i32> %x2)
194316
ret <8 x i32> %res
195317
}

0 commit comments

Comments
 (0)