xref: /llvm-project/llvm/test/MC/AMDGPU/xdl-insts-gfx908.s (revision 252c42354eca54274ed7b10c32c73c6937478e8b)
1// RUN: llvm-mc -triple=amdgcn -mcpu=gfx908 -show-encoding %s | FileCheck %s
2// RUN: llvm-mc -triple=amdgcn -mcpu=gfx90a -show-encoding %s | FileCheck %s
3// RUN: llvm-mc -triple=amdgcn -mcpu=gfx940 -show-encoding %s | FileCheck %s
4
5// CHECK: encoding: [0x01,0x05,0x0a,0x6e]
6v_dot2c_f32_f16 v5, v1, v2
7
8// CHECK: encoding: [0x01,0x05,0xfe,0x6f]
9v_dot2c_f32_f16 v255, v1, v2
10
11// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x00]
12v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
13
14// CHECK: encoding: [0xfa,0x04,0xfe,0x6f,0x01,0xe4,0x00,0x00]
15v_dot2c_f32_f16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
16
17// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0xff,0xe4,0x00,0x00]
18v_dot2c_f32_f16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
19
20// CHECK: encoding: [0xfa,0xfe,0x0b,0x6e,0x01,0xe4,0x00,0x00]
21v_dot2c_f32_f16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
22
23// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x1b,0x00,0x00]
24v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
25
26// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x40,0x01,0x00]
27v_dot2c_f32_f16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
28
29// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x41,0x01,0x00]
30v_dot2c_f32_f16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
31
32// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x42,0x01,0x00]
33v_dot2c_f32_f16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
34
35// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x43,0x01,0x00]
36v_dot2c_f32_f16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
37
38// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x30,0x01,0x00]
39v_dot2c_f32_f16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
40
41// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x34,0x01,0x00]
42v_dot2c_f32_f16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
43
44// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x38,0x01,0x00]
45v_dot2c_f32_f16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
46
47// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x3c,0x01,0x00]
48v_dot2c_f32_f16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
49
50// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x01,0x01,0x00]
51v_dot2c_f32_f16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
52
53// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x0f,0x01,0x00]
54v_dot2c_f32_f16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
55
56// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x11,0x01,0x00]
57v_dot2c_f32_f16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
58
59// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x1f,0x01,0x00]
60v_dot2c_f32_f16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
61
62// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x21,0x01,0x00]
63v_dot2c_f32_f16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
64
65// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0x2f,0x01,0x00]
66v_dot2c_f32_f16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
67
68// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x10]
69v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
70
71// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x30]
72v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
73
74// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0xf0]
75v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
76
77// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0xf0]
78v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
79
80// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x01]
81v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
82
83// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x03]
84v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
85
86// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x0f]
87v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
88
89// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x0f]
90v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
91
92// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x08,0x00]
93v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
94
95// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x10,0x00]
96v_dot2c_f32_f16_dpp v5, -v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
97
98// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x20,0x00]
99v_dot2c_f32_f16_dpp v5, |v1|, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
100
101// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x40,0x00]
102v_dot2c_f32_f16_dpp v5, v1, -v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
103
104// CHECK: encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x80,0x00]
105v_dot2c_f32_f16_dpp v5, v1, |v2| quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
106
107// CHECK: encoding: [0x05,0x00,0x37,0xd1,0x01,0xfb,0x01,0x00]
108v_dot2c_f32_f16_e64 v5, v1, src_scc
109
110// CHECK: encoding: [0x05,0x00,0x37,0xd1,0xff,0xf9,0x01,0x00]
111v_dot2c_f32_f16_e64 v5, v255, src_execz
112
113// CHECK: encoding: [0x05,0x00,0x37,0xd1,0x65,0xca,0x00,0x00]
114v_dot2c_f32_f16_e64 v5, s101, s101
115
116// CHECK: encoding: [0x05,0x00,0x37,0xd1,0xc1,0xcc,0x00,0x00]
117v_dot2c_f32_f16_e64 v5, -1, flat_scratch_lo
118
119// CHECK: encoding: [0x05,0x02,0x37,0xd1,0xf0,0xce,0x00,0x40]
120v_dot2c_f32_f16_e64 v5, 0.5, -|flat_scratch_hi|
121
122// CHECK: encoding: [0x05,0x00,0x37,0xd1,0xfc,0xe0,0x01,0x10]
123v_dot2c_f32_f16_e64 v5, src_execz, 0.5 mul:4
124
125// CHECK: encoding: [0xff,0x81,0x37,0xd1,0xfd,0x82,0x01,0x38]
126v_dot2c_f32_f16_e64 v255, -|src_scc|, -1 clamp div:2
127
128// CHECK: encoding: [0x01,0x05,0x0a,0x70]
129v_dot2c_i32_i16 v5, v1, v2
130
131// CHECK: encoding: [0x01,0x05,0xfe,0x71]
132v_dot2c_i32_i16 v255, v1, v2
133
134// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x00]
135v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
136
137// CHECK: encoding: [0xfa,0x04,0xfe,0x71,0x01,0xe4,0x00,0x00]
138v_dot2c_i32_i16_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
139
140// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0xff,0xe4,0x00,0x00]
141v_dot2c_i32_i16_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
142
143// CHECK: encoding: [0xfa,0xfe,0x0b,0x70,0x01,0xe4,0x00,0x00]
144v_dot2c_i32_i16_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
145
146// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x1b,0x00,0x00]
147v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
148
149// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x40,0x01,0x00]
150v_dot2c_i32_i16_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
151
152// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x41,0x01,0x00]
153v_dot2c_i32_i16_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
154
155// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x42,0x01,0x00]
156v_dot2c_i32_i16_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
157
158// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x43,0x01,0x00]
159v_dot2c_i32_i16_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
160
161// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x30,0x01,0x00]
162v_dot2c_i32_i16_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
163
164// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x34,0x01,0x00]
165v_dot2c_i32_i16_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
166
167// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x38,0x01,0x00]
168v_dot2c_i32_i16_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
169
170// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x3c,0x01,0x00]
171v_dot2c_i32_i16_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
172
173// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x01,0x01,0x00]
174v_dot2c_i32_i16_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
175
176// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x0f,0x01,0x00]
177v_dot2c_i32_i16_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
178
179// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x11,0x01,0x00]
180v_dot2c_i32_i16_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
181
182// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x1f,0x01,0x00]
183v_dot2c_i32_i16_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
184
185// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x21,0x01,0x00]
186v_dot2c_i32_i16_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
187
188// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0x2f,0x01,0x00]
189v_dot2c_i32_i16_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
190
191// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x10]
192v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
193
194// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x30]
195v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
196
197// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0xf0]
198v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
199
200// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0xf0]
201v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
202
203// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x01]
204v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
205
206// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x03]
207v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
208
209// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x0f]
210v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
211
212// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x0f]
213v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
214
215// CHECK: encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x08,0x00]
216v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
217
218// CHECK: encoding: [0x05,0x00,0x38,0xd1,0x01,0xfb,0x01,0x00]
219v_dot2c_i32_i16_e64 v5, v1, src_scc
220
221// CHECK: encoding: [0x05,0x00,0x38,0xd1,0xff,0xf9,0x01,0x00]
222v_dot2c_i32_i16_e64 v5, v255, src_execz
223
224// CHECK: encoding: [0x05,0x00,0x38,0xd1,0x65,0xca,0x00,0x00]
225v_dot2c_i32_i16_e64 v5, s101, s101
226
227// CHECK: encoding: [0x05,0x00,0x38,0xd1,0xc1,0xcc,0x00,0x00]
228v_dot2c_i32_i16_e64 v5, -1, flat_scratch_lo
229
230// CHECK: encoding: [0x05,0x00,0x38,0xd1,0xf0,0xce,0x00,0x00]
231v_dot2c_i32_i16_e64 v5, 0.5, flat_scratch_hi
232
233// CHECK: encoding: [0x05,0x00,0x38,0xd1,0xfc,0xe0,0x01,0x00]
234v_dot2c_i32_i16_e64 v5, src_execz, 0.5
235
236// CHECK: encoding: [0xff,0x80,0x38,0xd1,0xfd,0x82,0x01,0x00]
237v_dot2c_i32_i16_e64 v255, src_scc, -1 clamp
238
239// CHECK: encoding: [0x01,0x05,0x0a,0x72]
240v_dot4c_i32_i8 v5, v1, v2
241
242// CHECK: encoding: [0x01,0x05,0xfe,0x73]
243v_dot4c_i32_i8 v255, v1, v2
244
245// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x00]
246v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
247
248// CHECK: encoding: [0xfa,0x04,0xfe,0x73,0x01,0xe4,0x00,0x00]
249v_dot4c_i32_i8_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
250
251// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0xff,0xe4,0x00,0x00]
252v_dot4c_i32_i8_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
253
254// CHECK: encoding: [0xfa,0xfe,0x0b,0x72,0x01,0xe4,0x00,0x00]
255v_dot4c_i32_i8_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
256
257// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x1b,0x00,0x00]
258v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
259
260// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x40,0x01,0x00]
261v_dot4c_i32_i8_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
262
263// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x41,0x01,0x00]
264v_dot4c_i32_i8_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
265
266// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x42,0x01,0x00]
267v_dot4c_i32_i8_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
268
269// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x43,0x01,0x00]
270v_dot4c_i32_i8_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
271
272// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x30,0x01,0x00]
273v_dot4c_i32_i8_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
274
275// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x34,0x01,0x00]
276v_dot4c_i32_i8_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
277
278// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x38,0x01,0x00]
279v_dot4c_i32_i8_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
280
281// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x3c,0x01,0x00]
282v_dot4c_i32_i8_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
283
284// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x01,0x01,0x00]
285v_dot4c_i32_i8_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
286
287// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x0f,0x01,0x00]
288v_dot4c_i32_i8_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
289
290// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x11,0x01,0x00]
291v_dot4c_i32_i8_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
292
293// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x1f,0x01,0x00]
294v_dot4c_i32_i8_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
295
296// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x21,0x01,0x00]
297v_dot4c_i32_i8_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
298
299// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0x2f,0x01,0x00]
300v_dot4c_i32_i8_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
301
302// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x10]
303v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
304
305// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x30]
306v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
307
308// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0xf0]
309v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
310
311// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0xf0]
312v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
313
314// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x01]
315v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
316
317// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x03]
318v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
319
320// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x0f]
321v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
322
323// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x0f]
324v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
325
326// CHECK: encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x08,0x00]
327v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
328
329// CHECK: encoding: [0x05,0x00,0x39,0xd1,0x01,0xfb,0x01,0x00]
330v_dot4c_i32_i8_e64 v5, v1, src_scc
331
332// CHECK: encoding: [0x05,0x00,0x39,0xd1,0xff,0xf9,0x01,0x00]
333v_dot4c_i32_i8_e64 v5, v255, src_execz
334
335// CHECK: encoding: [0x05,0x00,0x39,0xd1,0x65,0xca,0x00,0x00]
336v_dot4c_i32_i8_e64 v5, s101, s101
337
338// CHECK: encoding: [0x05,0x00,0x39,0xd1,0xc1,0xcc,0x00,0x00]
339v_dot4c_i32_i8_e64 v5, -1, flat_scratch_lo
340
341// CHECK: encoding: [0x05,0x00,0x39,0xd1,0xf0,0xce,0x00,0x00]
342v_dot4c_i32_i8_e64 v5, 0.5, flat_scratch_hi
343
344// CHECK: encoding: [0x05,0x00,0x39,0xd1,0xfc,0xe0,0x01,0x00]
345v_dot4c_i32_i8_e64 v5, src_execz, 0.5
346
347// CHECK: encoding: [0xff,0x80,0x39,0xd1,0xfd,0x82,0x01,0x00]
348v_dot4c_i32_i8_e64 v255, src_scc, -1 clamp
349
350// CHECK: encoding: [0x01,0x05,0x0a,0x74]
351v_dot8c_i32_i4 v5, v1, v2
352
353// CHECK: encoding: [0x01,0x05,0xfe,0x75]
354v_dot8c_i32_i4 v255, v1, v2
355
356// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x00]
357v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
358
359// CHECK: encoding: [0xfa,0x04,0xfe,0x75,0x01,0xe4,0x00,0x00]
360v_dot8c_i32_i4_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
361
362// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0xff,0xe4,0x00,0x00]
363v_dot8c_i32_i4_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
364
365// CHECK: encoding: [0xfa,0xfe,0x0b,0x74,0x01,0xe4,0x00,0x00]
366v_dot8c_i32_i4_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
367
368// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x1b,0x00,0x00]
369v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
370
371// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x40,0x01,0x00]
372v_dot8c_i32_i4_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0
373
374// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x41,0x01,0x00]
375v_dot8c_i32_i4_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0
376
377// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x42,0x01,0x00]
378v_dot8c_i32_i4_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0
379
380// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x43,0x01,0x00]
381v_dot8c_i32_i4_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0
382
383// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x30,0x01,0x00]
384v_dot8c_i32_i4_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0
385
386// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x34,0x01,0x00]
387v_dot8c_i32_i4_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0
388
389// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x38,0x01,0x00]
390v_dot8c_i32_i4_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0
391
392// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x3c,0x01,0x00]
393v_dot8c_i32_i4_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0
394
395// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x01,0x01,0x00]
396v_dot8c_i32_i4_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0
397
398// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x0f,0x01,0x00]
399v_dot8c_i32_i4_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0
400
401// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x11,0x01,0x00]
402v_dot8c_i32_i4_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0
403
404// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x1f,0x01,0x00]
405v_dot8c_i32_i4_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0
406
407// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x21,0x01,0x00]
408v_dot8c_i32_i4_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0
409
410// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0x2f,0x01,0x00]
411v_dot8c_i32_i4_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0
412
413// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x10]
414v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0
415
416// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x30]
417v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0
418
419// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0xf0]
420v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0
421
422// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0xf0]
423v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0
424
425// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x01]
426v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1
427
428// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x03]
429v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3
430
431// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x0f]
432v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf
433
434// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x0f]
435v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0
436
437// CHECK: encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x08,0x00]
438v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0
439
440// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0x01,0xfb,0x01,0x00]
441v_dot8c_i32_i4_e64 v5, v1, src_scc
442
443// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0xff,0xf9,0x01,0x00]
444v_dot8c_i32_i4_e64 v5, v255, src_execz
445
446// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0x65,0xca,0x00,0x00]
447v_dot8c_i32_i4_e64 v5, s101, s101
448
449// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0xc1,0xcc,0x00,0x00]
450v_dot8c_i32_i4_e64 v5, -1, flat_scratch_lo
451
452// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0xf0,0xce,0x00,0x00]
453v_dot8c_i32_i4_e64 v5, 0.5, flat_scratch_hi
454
455// CHECK: encoding: [0x05,0x00,0x3a,0xd1,0xfc,0xe0,0x01,0x00]
456v_dot8c_i32_i4_e64 v5, src_execz, 0.5
457
458// CHECK: encoding: [0xff,0x80,0x3a,0xd1,0xfd,0x82,0x01,0x00]
459v_dot8c_i32_i4_e64 v255, src_scc, -1 clamp
460
461// CHECK: encoding: [0x01,0x05,0x0a,0x78]
462v_pk_fmac_f16 v5, v1, v2
463
464// CHECK: encoding: [0x01,0x05,0xfe,0x79]
465v_pk_fmac_f16 v255, v1, v2
466
467// CHECK: encoding: [0xff,0x05,0x0a,0x78]
468v_pk_fmac_f16 v5, v255, v2
469
470// CHECK: encoding: [0x01,0x04,0x0a,0x78]
471v_pk_fmac_f16 v5, s1, v2
472
473// CHECK: encoding: [0x6a,0x04,0x0a,0x78]
474v_pk_fmac_f16 v5, vcc_lo, v2
475
476// CHECK: encoding: [0x6b,0x04,0x0a,0x78]
477v_pk_fmac_f16 v5, vcc_hi, v2
478
479// CHECK: encoding: [0x77,0x04,0x0a,0x78]
480v_pk_fmac_f16 v5, ttmp11, v2
481
482// CHECK: encoding: [0x7c,0x04,0x0a,0x78]
483v_pk_fmac_f16 v5, m0, v2
484
485// CHECK: encoding: [0x7e,0x04,0x0a,0x78]
486v_pk_fmac_f16 v5, exec_lo, v2
487
488// CHECK: encoding: [0x7f,0x04,0x0a,0x78]
489v_pk_fmac_f16 v5, exec_hi, v2
490
491// CHECK: encoding: [0x80,0x04,0x0a,0x78]
492v_pk_fmac_f16 v5, 0, v2
493
494// CHECK: encoding: [0xc1,0x04,0x0a,0x78]
495v_pk_fmac_f16 v5, -1, v2
496
497// CHECK: encoding: [0xf0,0x04,0x0a,0x78]
498v_pk_fmac_f16 v5, 0.5, v2
499
500// CHECK: encoding: [0xf7,0x04,0x0a,0x78]
501v_pk_fmac_f16 v5, -4.0, v2
502
503// CHECK: encoding: [0x01,0xff,0x0b,0x78]
504v_pk_fmac_f16 v5, v1, v255
505