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
5 // CHECK
: encoding
: [0x01,0x05,0x0a,0x6e]
6 v_dot2c_f32_f16 v5
, v1
, v2
8 // CHECK
: encoding
: [0x01,0x05,0xfe,0x6f]
9 v_dot2c_f32_f16 v255
, v1
, v2
11 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x00]
12 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
14 // CHECK
: encoding
: [0xfa,0x04,0xfe,0x6f,0x01,0xe4,0x00,0x00]
15 v_dot2c_f32_f16_dpp v255
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
17 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0xff,0xe4,0x00,0x00]
18 v_dot2c_f32_f16_dpp v5
, v255
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
20 // CHECK
: encoding
: [0xfa,0xfe,0x0b,0x6e,0x01,0xe4,0x00,0x00]
21 v_dot2c_f32_f16_dpp v5
, v1
, v255 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
23 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x1b,0x00,0x00]
24 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[3,2,1,0] row_mask
:0x0 bank_mask
:0x0
26 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x40,0x01,0x00]
27 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_mirror row_mask
:0x0 bank_mask
:0x0
29 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x41,0x01,0x00]
30 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_half_mirror row_mask
:0x0 bank_mask
:0x0
32 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x42,0x01,0x00]
33 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_bcast
:15 row_mask
:0x0 bank_mask
:0x0
35 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x43,0x01,0x00]
36 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_bcast
:31 row_mask
:0x0 bank_mask
:0x0
38 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x30,0x01,0x00]
39 v_dot2c_f32_f16_dpp v5
, v1
, v2 wave_shl
:1 row_mask
:0x0 bank_mask
:0x0
41 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x34,0x01,0x00]
42 v_dot2c_f32_f16_dpp v5
, v1
, v2 wave_rol
:1 row_mask
:0x0 bank_mask
:0x0
44 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x38,0x01,0x00]
45 v_dot2c_f32_f16_dpp v5
, v1
, v2 wave_shr
:1 row_mask
:0x0 bank_mask
:0x0
47 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x3c,0x01,0x00]
48 v_dot2c_f32_f16_dpp v5
, v1
, v2 wave_ror
:1 row_mask
:0x0 bank_mask
:0x0
50 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x01,0x01,0x00]
51 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_shl
:1 row_mask
:0x0 bank_mask
:0x0
53 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x0f,0x01,0x00]
54 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_shl
:15 row_mask
:0x0 bank_mask
:0x0
56 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x11,0x01,0x00]
57 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_shr
:1 row_mask
:0x0 bank_mask
:0x0
59 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x1f,0x01,0x00]
60 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_shr
:15 row_mask
:0x0 bank_mask
:0x0
62 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x21,0x01,0x00]
63 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_ror
:1 row_mask
:0x0 bank_mask
:0x0
65 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0x2f,0x01,0x00]
66 v_dot2c_f32_f16_dpp v5
, v1
, v2 row_ror
:15 row_mask
:0x0 bank_mask
:0x0
68 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x10]
69 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x1 bank_mask
:0x0
71 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x30]
72 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x3 bank_mask
:0x0
74 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0xf0]
75 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0xf bank_mask
:0x0
77 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0xf0]
78 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] bank_mask
:0x0
80 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x01]
81 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x1
83 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x03]
84 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x3
86 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x0f]
87 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0xf
89 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x0f]
90 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0
92 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x08,0x00]
93 v_dot2c_f32_f16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0 bound_ctrl
:0
95 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x10,0x00]
96 v_dot2c_f32_f16_dpp v5
, -v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
98 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x20,0x00]
99 v_dot2c_f32_f16_dpp v5
, |v1|
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
101 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x40,0x00]
102 v_dot2c_f32_f16_dpp v5
, v1
, -v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
104 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x80,0x00]
105 v_dot2c_f32_f16_dpp v5
, v1
, |v2| quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
107 // CHECK
: encoding
: [0x05,0x00,0x37,0xd1,0x01,0xfb,0x01,0x00]
108 v_dot2c_f32_f16_e64 v5
, v1
, src_scc
110 // CHECK
: encoding
: [0x05,0x00,0x37,0xd1,0xff,0xf9,0x01,0x00]
111 v_dot2c_f32_f16_e64 v5
, v255
, src_execz
113 // CHECK
: encoding
: [0x05,0x00,0x37,0xd1,0x65,0xca,0x00,0x00]
114 v_dot2c_f32_f16_e64 v5
, s101
, s101
116 // CHECK
: encoding
: [0x05,0x00,0x37,0xd1,0xc1,0xcc,0x00,0x00]
117 v_dot2c_f32_f16_e64 v5
, -1, flat_scratch_lo
119 // CHECK
: encoding
: [0x05,0x02,0x37,0xd1,0xf0,0xce,0x00,0x40]
120 v_dot2c_f32_f16_e64 v5
, 0.5, -|flat_scratch_hi|
122 // CHECK
: encoding
: [0x05,0x00,0x37,0xd1,0xfc,0xe0,0x01,0x10]
123 v_dot2c_f32_f16_e64 v5
, src_execz
, 0.5 mul:4
125 // CHECK
: encoding
: [0xff,0x81,0x37,0xd1,0xfd,0x82,0x01,0x38]
126 v_dot2c_f32_f16_e64 v255
, -|src_scc|
, -1 clamp
div:2
128 // CHECK
: encoding
: [0x01,0x05,0x0a,0x70]
129 v_dot2c_i32_i16 v5
, v1
, v2
131 // CHECK
: encoding
: [0x01,0x05,0xfe,0x71]
132 v_dot2c_i32_i16 v255
, v1
, v2
134 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x00]
135 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
137 // CHECK
: encoding
: [0xfa,0x04,0xfe,0x71,0x01,0xe4,0x00,0x00]
138 v_dot2c_i32_i16_dpp v255
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
140 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0xff,0xe4,0x00,0x00]
141 v_dot2c_i32_i16_dpp v5
, v255
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
143 // CHECK
: encoding
: [0xfa,0xfe,0x0b,0x70,0x01,0xe4,0x00,0x00]
144 v_dot2c_i32_i16_dpp v5
, v1
, v255 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
146 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x1b,0x00,0x00]
147 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[3,2,1,0] row_mask
:0x0 bank_mask
:0x0
149 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x40,0x01,0x00]
150 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_mirror row_mask
:0x0 bank_mask
:0x0
152 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x41,0x01,0x00]
153 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_half_mirror row_mask
:0x0 bank_mask
:0x0
155 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x42,0x01,0x00]
156 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_bcast
:15 row_mask
:0x0 bank_mask
:0x0
158 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x43,0x01,0x00]
159 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_bcast
:31 row_mask
:0x0 bank_mask
:0x0
161 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x30,0x01,0x00]
162 v_dot2c_i32_i16_dpp v5
, v1
, v2 wave_shl
:1 row_mask
:0x0 bank_mask
:0x0
164 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x34,0x01,0x00]
165 v_dot2c_i32_i16_dpp v5
, v1
, v2 wave_rol
:1 row_mask
:0x0 bank_mask
:0x0
167 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x38,0x01,0x00]
168 v_dot2c_i32_i16_dpp v5
, v1
, v2 wave_shr
:1 row_mask
:0x0 bank_mask
:0x0
170 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x3c,0x01,0x00]
171 v_dot2c_i32_i16_dpp v5
, v1
, v2 wave_ror
:1 row_mask
:0x0 bank_mask
:0x0
173 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x01,0x01,0x00]
174 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_shl
:1 row_mask
:0x0 bank_mask
:0x0
176 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x0f,0x01,0x00]
177 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_shl
:15 row_mask
:0x0 bank_mask
:0x0
179 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x11,0x01,0x00]
180 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_shr
:1 row_mask
:0x0 bank_mask
:0x0
182 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x1f,0x01,0x00]
183 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_shr
:15 row_mask
:0x0 bank_mask
:0x0
185 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x21,0x01,0x00]
186 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_ror
:1 row_mask
:0x0 bank_mask
:0x0
188 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0x2f,0x01,0x00]
189 v_dot2c_i32_i16_dpp v5
, v1
, v2 row_ror
:15 row_mask
:0x0 bank_mask
:0x0
191 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x10]
192 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x1 bank_mask
:0x0
194 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x30]
195 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x3 bank_mask
:0x0
197 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0xf0]
198 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0xf bank_mask
:0x0
200 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0xf0]
201 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] bank_mask
:0x0
203 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x01]
204 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x1
206 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x03]
207 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x3
209 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x0f]
210 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0xf
212 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x0f]
213 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0
215 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x08,0x00]
216 v_dot2c_i32_i16_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0 bound_ctrl
:0
218 // CHECK
: encoding
: [0x05,0x00,0x38,0xd1,0x01,0xfb,0x01,0x00]
219 v_dot2c_i32_i16_e64 v5
, v1
, src_scc
221 // CHECK
: encoding
: [0x05,0x00,0x38,0xd1,0xff,0xf9,0x01,0x00]
222 v_dot2c_i32_i16_e64 v5
, v255
, src_execz
224 // CHECK
: encoding
: [0x05,0x00,0x38,0xd1,0x65,0xca,0x00,0x00]
225 v_dot2c_i32_i16_e64 v5
, s101
, s101
227 // CHECK
: encoding
: [0x05,0x00,0x38,0xd1,0xc1,0xcc,0x00,0x00]
228 v_dot2c_i32_i16_e64 v5
, -1, flat_scratch_lo
230 // CHECK
: encoding
: [0x05,0x00,0x38,0xd1,0xf0,0xce,0x00,0x00]
231 v_dot2c_i32_i16_e64 v5
, 0.5, flat_scratch_hi
233 // CHECK
: encoding
: [0x05,0x00,0x38,0xd1,0xfc,0xe0,0x01,0x00]
234 v_dot2c_i32_i16_e64 v5
, src_execz
, 0.5
236 // CHECK
: encoding
: [0xff,0x80,0x38,0xd1,0xfd,0x82,0x01,0x00]
237 v_dot2c_i32_i16_e64 v255
, src_scc
, -1 clamp
239 // CHECK
: encoding
: [0x01,0x05,0x0a,0x72]
240 v_dot4c_i32_i8 v5
, v1
, v2
242 // CHECK
: encoding
: [0x01,0x05,0xfe,0x73]
243 v_dot4c_i32_i8 v255
, v1
, v2
245 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x00]
246 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
248 // CHECK
: encoding
: [0xfa,0x04,0xfe,0x73,0x01,0xe4,0x00,0x00]
249 v_dot4c_i32_i8_dpp v255
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
251 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0xff,0xe4,0x00,0x00]
252 v_dot4c_i32_i8_dpp v5
, v255
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
254 // CHECK
: encoding
: [0xfa,0xfe,0x0b,0x72,0x01,0xe4,0x00,0x00]
255 v_dot4c_i32_i8_dpp v5
, v1
, v255 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
257 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x1b,0x00,0x00]
258 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[3,2,1,0] row_mask
:0x0 bank_mask
:0x0
260 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x40,0x01,0x00]
261 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_mirror row_mask
:0x0 bank_mask
:0x0
263 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x41,0x01,0x00]
264 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_half_mirror row_mask
:0x0 bank_mask
:0x0
266 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x42,0x01,0x00]
267 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_bcast
:15 row_mask
:0x0 bank_mask
:0x0
269 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x43,0x01,0x00]
270 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_bcast
:31 row_mask
:0x0 bank_mask
:0x0
272 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x30,0x01,0x00]
273 v_dot4c_i32_i8_dpp v5
, v1
, v2 wave_shl
:1 row_mask
:0x0 bank_mask
:0x0
275 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x34,0x01,0x00]
276 v_dot4c_i32_i8_dpp v5
, v1
, v2 wave_rol
:1 row_mask
:0x0 bank_mask
:0x0
278 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x38,0x01,0x00]
279 v_dot4c_i32_i8_dpp v5
, v1
, v2 wave_shr
:1 row_mask
:0x0 bank_mask
:0x0
281 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x3c,0x01,0x00]
282 v_dot4c_i32_i8_dpp v5
, v1
, v2 wave_ror
:1 row_mask
:0x0 bank_mask
:0x0
284 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x01,0x01,0x00]
285 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_shl
:1 row_mask
:0x0 bank_mask
:0x0
287 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x0f,0x01,0x00]
288 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_shl
:15 row_mask
:0x0 bank_mask
:0x0
290 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x11,0x01,0x00]
291 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_shr
:1 row_mask
:0x0 bank_mask
:0x0
293 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x1f,0x01,0x00]
294 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_shr
:15 row_mask
:0x0 bank_mask
:0x0
296 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x21,0x01,0x00]
297 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_ror
:1 row_mask
:0x0 bank_mask
:0x0
299 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0x2f,0x01,0x00]
300 v_dot4c_i32_i8_dpp v5
, v1
, v2 row_ror
:15 row_mask
:0x0 bank_mask
:0x0
302 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x10]
303 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x1 bank_mask
:0x0
305 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x30]
306 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x3 bank_mask
:0x0
308 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0xf0]
309 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0xf bank_mask
:0x0
311 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0xf0]
312 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] bank_mask
:0x0
314 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x01]
315 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x1
317 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x03]
318 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x3
320 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x0f]
321 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0xf
323 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x0f]
324 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0
326 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x08,0x00]
327 v_dot4c_i32_i8_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0 bound_ctrl
:0
329 // CHECK
: encoding
: [0x05,0x00,0x39,0xd1,0x01,0xfb,0x01,0x00]
330 v_dot4c_i32_i8_e64 v5
, v1
, src_scc
332 // CHECK
: encoding
: [0x05,0x00,0x39,0xd1,0xff,0xf9,0x01,0x00]
333 v_dot4c_i32_i8_e64 v5
, v255
, src_execz
335 // CHECK
: encoding
: [0x05,0x00,0x39,0xd1,0x65,0xca,0x00,0x00]
336 v_dot4c_i32_i8_e64 v5
, s101
, s101
338 // CHECK
: encoding
: [0x05,0x00,0x39,0xd1,0xc1,0xcc,0x00,0x00]
339 v_dot4c_i32_i8_e64 v5
, -1, flat_scratch_lo
341 // CHECK
: encoding
: [0x05,0x00,0x39,0xd1,0xf0,0xce,0x00,0x00]
342 v_dot4c_i32_i8_e64 v5
, 0.5, flat_scratch_hi
344 // CHECK
: encoding
: [0x05,0x00,0x39,0xd1,0xfc,0xe0,0x01,0x00]
345 v_dot4c_i32_i8_e64 v5
, src_execz
, 0.5
347 // CHECK
: encoding
: [0xff,0x80,0x39,0xd1,0xfd,0x82,0x01,0x00]
348 v_dot4c_i32_i8_e64 v255
, src_scc
, -1 clamp
350 // CHECK
: encoding
: [0x01,0x05,0x0a,0x74]
351 v_dot8c_i32_i4 v5
, v1
, v2
353 // CHECK
: encoding
: [0x01,0x05,0xfe,0x75]
354 v_dot8c_i32_i4 v255
, v1
, v2
356 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x00]
357 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
359 // CHECK
: encoding
: [0xfa,0x04,0xfe,0x75,0x01,0xe4,0x00,0x00]
360 v_dot8c_i32_i4_dpp v255
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
362 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0xff,0xe4,0x00,0x00]
363 v_dot8c_i32_i4_dpp v5
, v255
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
365 // CHECK
: encoding
: [0xfa,0xfe,0x0b,0x74,0x01,0xe4,0x00,0x00]
366 v_dot8c_i32_i4_dpp v5
, v1
, v255 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
368 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x1b,0x00,0x00]
369 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[3,2,1,0] row_mask
:0x0 bank_mask
:0x0
371 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x40,0x01,0x00]
372 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_mirror row_mask
:0x0 bank_mask
:0x0
374 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x41,0x01,0x00]
375 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_half_mirror row_mask
:0x0 bank_mask
:0x0
377 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x42,0x01,0x00]
378 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_bcast
:15 row_mask
:0x0 bank_mask
:0x0
380 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x43,0x01,0x00]
381 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_bcast
:31 row_mask
:0x0 bank_mask
:0x0
383 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x30,0x01,0x00]
384 v_dot8c_i32_i4_dpp v5
, v1
, v2 wave_shl
:1 row_mask
:0x0 bank_mask
:0x0
386 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x34,0x01,0x00]
387 v_dot8c_i32_i4_dpp v5
, v1
, v2 wave_rol
:1 row_mask
:0x0 bank_mask
:0x0
389 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x38,0x01,0x00]
390 v_dot8c_i32_i4_dpp v5
, v1
, v2 wave_shr
:1 row_mask
:0x0 bank_mask
:0x0
392 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x3c,0x01,0x00]
393 v_dot8c_i32_i4_dpp v5
, v1
, v2 wave_ror
:1 row_mask
:0x0 bank_mask
:0x0
395 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x01,0x01,0x00]
396 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_shl
:1 row_mask
:0x0 bank_mask
:0x0
398 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x0f,0x01,0x00]
399 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_shl
:15 row_mask
:0x0 bank_mask
:0x0
401 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x11,0x01,0x00]
402 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_shr
:1 row_mask
:0x0 bank_mask
:0x0
404 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x1f,0x01,0x00]
405 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_shr
:15 row_mask
:0x0 bank_mask
:0x0
407 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x21,0x01,0x00]
408 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_ror
:1 row_mask
:0x0 bank_mask
:0x0
410 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0x2f,0x01,0x00]
411 v_dot8c_i32_i4_dpp v5
, v1
, v2 row_ror
:15 row_mask
:0x0 bank_mask
:0x0
413 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x10]
414 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x1 bank_mask
:0x0
416 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x30]
417 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x3 bank_mask
:0x0
419 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0xf0]
420 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0xf bank_mask
:0x0
422 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0xf0]
423 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] bank_mask
:0x0
425 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x01]
426 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x1
428 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x03]
429 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x3
431 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x0f]
432 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0xf
434 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x0f]
435 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0
437 // CHECK
: encoding
: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x08,0x00]
438 v_dot8c_i32_i4_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0 bound_ctrl
:0
440 // CHECK
: encoding
: [0x05,0x00,0x3a,0xd1,0x01,0xfb,0x01,0x00]
441 v_dot8c_i32_i4_e64 v5
, v1
, src_scc
443 // CHECK
: encoding
: [0x05,0x00,0x3a,0xd1,0xff,0xf9,0x01,0x00]
444 v_dot8c_i32_i4_e64 v5
, v255
, src_execz
446 // CHECK
: encoding
: [0x05,0x00,0x3a,0xd1,0x65,0xca,0x00,0x00]
447 v_dot8c_i32_i4_e64 v5
, s101
, s101
449 // CHECK
: encoding
: [0x05,0x00,0x3a,0xd1,0xc1,0xcc,0x00,0x00]
450 v_dot8c_i32_i4_e64 v5
, -1, flat_scratch_lo
452 // CHECK
: encoding
: [0x05,0x00,0x3a,0xd1,0xf0,0xce,0x00,0x00]
453 v_dot8c_i32_i4_e64 v5
, 0.5, flat_scratch_hi
455 // CHECK
: encoding
: [0x05,0x00,0x3a,0xd1,0xfc,0xe0,0x01,0x00]
456 v_dot8c_i32_i4_e64 v5
, src_execz
, 0.5
458 // CHECK
: encoding
: [0xff,0x80,0x3a,0xd1,0xfd,0x82,0x01,0x00]
459 v_dot8c_i32_i4_e64 v255
, src_scc
, -1 clamp
461 // CHECK
: encoding
: [0x01,0x05,0x0a,0x78]
462 v_pk_fmac_f16 v5
, v1
, v2
464 // CHECK
: encoding
: [0x01,0x05,0xfe,0x79]
465 v_pk_fmac_f16 v255
, v1
, v2
467 // CHECK
: encoding
: [0xff,0x05,0x0a,0x78]
468 v_pk_fmac_f16 v5
, v255
, v2
470 // CHECK
: encoding
: [0x01,0x04,0x0a,0x78]
471 v_pk_fmac_f16 v5
, s1
, v2
473 // CHECK
: encoding
: [0x6a,0x04,0x0a,0x78]
474 v_pk_fmac_f16 v5
, vcc_lo
, v2
476 // CHECK
: encoding
: [0x6b,0x04,0x0a,0x78]
477 v_pk_fmac_f16 v5
, vcc_hi
, v2
479 // CHECK
: encoding
: [0x77,0x04,0x0a,0x78]
480 v_pk_fmac_f16 v5
, ttmp11
, v2
482 // CHECK
: encoding
: [0x7c,0x04,0x0a,0x78]
483 v_pk_fmac_f16 v5
, m0
, v2
485 // CHECK
: encoding
: [0x7e,0x04,0x0a,0x78]
486 v_pk_fmac_f16 v5
, exec_lo
, v2
488 // CHECK
: encoding
: [0x7f,0x04,0x0a,0x78]
489 v_pk_fmac_f16 v5
, exec_hi
, v2
491 // CHECK
: encoding
: [0x80,0x04,0x0a,0x78]
492 v_pk_fmac_f16 v5
, 0, v2
494 // CHECK
: encoding
: [0xc1,0x04,0x0a,0x78]
495 v_pk_fmac_f16 v5
, -1, v2
497 // CHECK
: encoding
: [0xf0,0x04,0x0a,0x78]
498 v_pk_fmac_f16 v5
, 0.5, v2
500 // CHECK
: encoding
: [0xf7,0x04,0x0a,0x78]
501 v_pk_fmac_f16 v5
, -4.0, v2
503 // CHECK
: encoding
: [0x01,0xff,0x0b,0x78]
504 v_pk_fmac_f16 v5
, v1
, v255