1 # RUN: llvm-mc -arch=amdgcn -mcpu=gfx908 -disassemble -show-encoding < %s | FileCheck %s
3 # CHECK: v_dot2c_f32_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x6e]
6 # CHECK: v_dot2c_f32_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x6f]
9 # 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]
10 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x00
12 # 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]
13 0xfa,0x04,0xfe,0x6f,0x01,0xe4,0x00,0x00
15 # 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]
16 0xfa,0x04,0x0a,0x6e,0xff,0xe4,0x00,0x00
18 # 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]
19 0xfa,0xfe,0x0b,0x6e,0x01,0xe4,0x00,0x00
21 # 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]
22 0xfa,0x04,0x0a,0x6e,0x01,0x1b,0x00,0x00
24 # 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]
25 0xfa,0x04,0x0a,0x6e,0x01,0x40,0x01,0x00
27 # 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]
28 0xfa,0x04,0x0a,0x6e,0x01,0x41,0x01,0x00
30 # 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]
31 0xfa,0x04,0x0a,0x6e,0x01,0x42,0x01,0x00
33 # 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]
34 0xfa,0x04,0x0a,0x6e,0x01,0x43,0x01,0x00
36 # 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]
37 0xfa,0x04,0x0a,0x6e,0x01,0x30,0x01,0x00
39 # 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]
40 0xfa,0x04,0x0a,0x6e,0x01,0x34,0x01,0x00
42 # 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]
43 0xfa,0x04,0x0a,0x6e,0x01,0x38,0x01,0x00
45 # 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]
46 0xfa,0x04,0x0a,0x6e,0x01,0x3c,0x01,0x00
48 # 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]
49 0xfa,0x04,0x0a,0x6e,0x01,0x01,0x01,0x00
51 # 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]
52 0xfa,0x04,0x0a,0x6e,0x01,0x0f,0x01,0x00
54 # 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]
55 0xfa,0x04,0x0a,0x6e,0x01,0x11,0x01,0x00
57 # 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]
58 0xfa,0x04,0x0a,0x6e,0x01,0x1f,0x01,0x00
60 # 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]
61 0xfa,0x04,0x0a,0x6e,0x01,0x21,0x01,0x00
63 # 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]
64 0xfa,0x04,0x0a,0x6e,0x01,0x2f,0x01,0x00
66 # 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]
67 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x10
69 # 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]
70 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x30
72 # 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]
73 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0xf0
75 # 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]
76 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x01
78 # 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]
79 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x03
81 # 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]
82 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x00,0x0f
84 # CHECK: v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x08,0x00]
85 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x08,0x00
87 # 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]
88 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x10,0x00
90 # 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]
91 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x20,0x00
93 # 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]
94 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x40,0x00
96 # 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]
97 0xfa,0x04,0x0a,0x6e,0x01,0xe4,0x80,0x00
99 # CHECK: v_dot2c_i32_i16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x70]
102 # CHECK: v_dot2c_i32_i16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x71]
105 # 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]
106 0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x00
108 # 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]
109 0xfa,0x04,0xfe,0x71,0x01,0xe4,0x00,0x00
111 # 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]
112 0xfa,0x04,0x0a,0x70,0xff,0xe4,0x00,0x00
114 # 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]
115 0xfa,0xfe,0x0b,0x70,0x01,0xe4,0x00,0x00
117 # 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]
118 0xfa,0x04,0x0a,0x70,0x01,0x1b,0x00,0x00
120 # 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]
121 0xfa,0x04,0x0a,0x70,0x01,0x40,0x01,0x00
123 # 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]
124 0xfa,0x04,0x0a,0x70,0x01,0x41,0x01,0x00
126 # 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]
127 0xfa,0x04,0x0a,0x70,0x01,0x42,0x01,0x00
129 # 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]
130 0xfa,0x04,0x0a,0x70,0x01,0x43,0x01,0x00
132 # 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]
133 0xfa,0x04,0x0a,0x70,0x01,0x30,0x01,0x00
135 # 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]
136 0xfa,0x04,0x0a,0x70,0x01,0x34,0x01,0x00
138 # 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]
139 0xfa,0x04,0x0a,0x70,0x01,0x38,0x01,0x00
141 # 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]
142 0xfa,0x04,0x0a,0x70,0x01,0x3c,0x01,0x00
144 # 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]
145 0xfa,0x04,0x0a,0x70,0x01,0x01,0x01,0x00
147 # 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]
148 0xfa,0x04,0x0a,0x70,0x01,0x0f,0x01,0x00
150 # 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]
151 0xfa,0x04,0x0a,0x70,0x01,0x11,0x01,0x00
153 # 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]
154 0xfa,0x04,0x0a,0x70,0x01,0x1f,0x01,0x00
156 # 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]
157 0xfa,0x04,0x0a,0x70,0x01,0x21,0x01,0x00
159 # 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]
160 0xfa,0x04,0x0a,0x70,0x01,0x2f,0x01,0x00
162 # 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]
163 0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x10
165 # 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]
166 0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x30
168 # 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]
169 0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0xf0
171 # 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]
172 0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x01
174 # 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]
175 0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x03
177 # 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]
178 0xfa,0x04,0x0a,0x70,0x01,0xe4,0x00,0x0f
180 # CHECK: v_dot2c_i32_i16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x70,0x01,0xe4,0x08,0x00]
181 0xfa,0x04,0x0a,0x70,0x01,0xe4,0x08,0x00
183 # CHECK: v_dot4c_i32_i8_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x72]
186 # CHECK: v_dot4c_i32_i8_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x73]
189 # 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]
190 0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x00
192 # 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]
193 0xfa,0x04,0xfe,0x73,0x01,0xe4,0x00,0x00
195 # 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]
196 0xfa,0x04,0x0a,0x72,0xff,0xe4,0x00,0x00
198 # 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]
199 0xfa,0xfe,0x0b,0x72,0x01,0xe4,0x00,0x00
201 # 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]
202 0xfa,0x04,0x0a,0x72,0x01,0x1b,0x00,0x00
204 # 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]
205 0xfa,0x04,0x0a,0x72,0x01,0x40,0x01,0x00
207 # 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]
208 0xfa,0x04,0x0a,0x72,0x01,0x41,0x01,0x00
210 # 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]
211 0xfa,0x04,0x0a,0x72,0x01,0x42,0x01,0x00
213 # 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]
214 0xfa,0x04,0x0a,0x72,0x01,0x43,0x01,0x00
216 # 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]
217 0xfa,0x04,0x0a,0x72,0x01,0x30,0x01,0x00
219 # 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]
220 0xfa,0x04,0x0a,0x72,0x01,0x34,0x01,0x00
222 # 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]
223 0xfa,0x04,0x0a,0x72,0x01,0x38,0x01,0x00
225 # 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]
226 0xfa,0x04,0x0a,0x72,0x01,0x3c,0x01,0x00
228 # 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]
229 0xfa,0x04,0x0a,0x72,0x01,0x01,0x01,0x00
231 # 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]
232 0xfa,0x04,0x0a,0x72,0x01,0x0f,0x01,0x00
234 # 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]
235 0xfa,0x04,0x0a,0x72,0x01,0x11,0x01,0x00
237 # 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]
238 0xfa,0x04,0x0a,0x72,0x01,0x1f,0x01,0x00
240 # 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]
241 0xfa,0x04,0x0a,0x72,0x01,0x21,0x01,0x00
243 # 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]
244 0xfa,0x04,0x0a,0x72,0x01,0x2f,0x01,0x00
246 # 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]
247 0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x10
249 # 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]
250 0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x30
252 # 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]
253 0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0xf0
255 # 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]
256 0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x01
258 # 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]
259 0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x03
261 # 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]
262 0xfa,0x04,0x0a,0x72,0x01,0xe4,0x00,0x0f
264 # CHECK: v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x72,0x01,0xe4,0x08,0x00]
265 0xfa,0x04,0x0a,0x72,0x01,0xe4,0x08,0x00
267 # CHECK: v_dot8c_i32_i4_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x74]
270 # CHECK: v_dot8c_i32_i4_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x75]
273 # 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]
274 0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x00
276 # 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]
277 0xfa,0x04,0xfe,0x75,0x01,0xe4,0x00,0x00
279 # 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]
280 0xfa,0x04,0x0a,0x74,0xff,0xe4,0x00,0x00
282 # 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]
283 0xfa,0xfe,0x0b,0x74,0x01,0xe4,0x00,0x00
285 # 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]
286 0xfa,0x04,0x0a,0x74,0x01,0x1b,0x00,0x00
288 # 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]
289 0xfa,0x04,0x0a,0x74,0x01,0x40,0x01,0x00
291 # 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]
292 0xfa,0x04,0x0a,0x74,0x01,0x41,0x01,0x00
294 # 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]
295 0xfa,0x04,0x0a,0x74,0x01,0x42,0x01,0x00
297 # 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]
298 0xfa,0x04,0x0a,0x74,0x01,0x43,0x01,0x00
300 # 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]
301 0xfa,0x04,0x0a,0x74,0x01,0x30,0x01,0x00
303 # 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]
304 0xfa,0x04,0x0a,0x74,0x01,0x34,0x01,0x00
306 # 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]
307 0xfa,0x04,0x0a,0x74,0x01,0x38,0x01,0x00
309 # 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]
310 0xfa,0x04,0x0a,0x74,0x01,0x3c,0x01,0x00
312 # 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]
313 0xfa,0x04,0x0a,0x74,0x01,0x01,0x01,0x00
315 # 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]
316 0xfa,0x04,0x0a,0x74,0x01,0x0f,0x01,0x00
318 # 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]
319 0xfa,0x04,0x0a,0x74,0x01,0x11,0x01,0x00
321 # 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]
322 0xfa,0x04,0x0a,0x74,0x01,0x1f,0x01,0x00
324 # 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]
325 0xfa,0x04,0x0a,0x74,0x01,0x21,0x01,0x00
327 # 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]
328 0xfa,0x04,0x0a,0x74,0x01,0x2f,0x01,0x00
330 # 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]
331 0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x10
333 # 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]
334 0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x30
336 # 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]
337 0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0xf0
339 # 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]
340 0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x01
342 # 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]
343 0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x03
345 # 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]
346 0xfa,0x04,0x0a,0x74,0x01,0xe4,0x00,0x0f
348 # CHECK: v_dot8c_i32_i4_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x74,0x01,0xe4,0x08,0x00]
349 0xfa,0x04,0x0a,0x74,0x01,0xe4,0x08,0x00
351 # CHECK: v_pk_fmac_f16_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x78]
354 # CHECK: v_pk_fmac_f16_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x79]
357 # CHECK: v_pk_fmac_f16_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x78]
360 # CHECK: v_pk_fmac_f16_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x78]
363 # CHECK: v_pk_fmac_f16_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x78]
366 # CHECK: v_pk_fmac_f16_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x78]
369 # CHECK: v_pk_fmac_f16_e32 v5, ttmp11, v2 ; encoding: [0x77,0x04,0x0a,0x78]
372 # CHECK: v_pk_fmac_f16_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x78]
375 # CHECK: v_pk_fmac_f16_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x78]
378 # CHECK: v_pk_fmac_f16_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x78]
381 # CHECK: v_pk_fmac_f16_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x78]
384 # CHECK: v_pk_fmac_f16_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x78]
387 # CHECK: v_pk_fmac_f16_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x78]
390 # CHECK: v_pk_fmac_f16_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x78]
393 # CHECK: v_pk_fmac_f16_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x78]