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