1 // RUN
: not llvm-mc
-triple
=amdgcn
-show-encoding
%s | FileCheck
%s
--check-prefix
=SICI
2 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=hawaii
-show-encoding
%s | FileCheck
%s
--check-prefix
=CI
--check-prefix
=SICI
3 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=tonga
-show-encoding
%s | FileCheck
%s
--check-prefix
=VI
5 // Make sure interp instructions disassemble regardless of lds bank count
6 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=gfx810
-show-encoding
%s | FileCheck
%s
--check-prefix
=VI
8 // RUN
: not llvm-mc
-triple
=amdgcn
%s
2>&1 | FileCheck
%s
--check-prefix
=NOSI
--check-prefix
=NOSICI
--implicit-check-
not=error
:
9 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=hawaii
%s
2>&1 | FileCheck
%s
-check-prefix
=NOCI
--check-prefix
=NOSICI
--implicit-check-
not=error
:
10 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=tonga
%s
2>&1 | FileCheck
%s
--check-prefix
=NOVI
--implicit-check-
not=error
:
11 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=gfx810
%s
2>&1 | FileCheck
-check-prefix
=NOVI
--implicit-check-
not=error
: %s
13 //===----------------------------------------------------------------------===//
15 //===----------------------------------------------------------------------===//
17 // Test forced e64 encoding
19 v_cmp_lt_f32_e64 s
[2:3], v4
, -v6
20 // SICI
: v_cmp_lt_f32_e64 s
[2:3], v4
, -v6 ; encoding
: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x40]
21 // VI
: v_cmp_lt_f32_e64 s
[2:3], v4
, -v6 ; encoding
: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]
23 // Test forcing e64 with vcc
dst
25 v_cmp_lt_f32_e64 vcc
, v4
, v6
26 // SICI
: v_cmp_lt_f32_e64 vcc
, v4
, v6 ; encoding
: [0x6a,0x00,0x02,0xd0,0x04,0x0d,0x02,0x00]
27 // VI
: v_cmp_lt_f32_e64 vcc
, v4
, v6 ; encoding
: [0x6a,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]
33 v_cmp_lt_f32 s
[2:3] -v4
, v6
34 // SICI
: v_cmp_lt_f32_e64 s
[2:3], -v4
, v6 ; encoding
: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x20]
35 // VI
: v_cmp_lt_f32_e64 s
[2:3], -v4
, v6 ; encoding
: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x20]
37 v_cmp_lt_f32 s
[2:3] v4
, -v6
38 // SICI
: v_cmp_lt_f32_e64 s
[2:3], v4
, -v6 ; encoding
: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x40]
39 // VI
: v_cmp_lt_f32_e64 s
[2:3], v4
, -v6 ; encoding
: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x40]
41 v_cmp_lt_f32 s
[2:3] -v4
, -v6
42 // SICI
: v_cmp_lt_f32_e64 s
[2:3], -v4
, -v6 ; encoding
: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x60]
43 // VI
: v_cmp_lt_f32_e64 s
[2:3], -v4
, -v6 ; encoding
: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x60]
45 v_cmp_lt_f32 s
[2:3] |v4|
, v6
46 // SICI
: v_cmp_lt_f32_e64 s
[2:3], |v4|
, v6 ; encoding
: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x00]
47 // VI
: v_cmp_lt_f32_e64 s
[2:3], |v4|
, v6 ; encoding
: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x00]
49 v_cmp_lt_f32 s
[2:3] v4
, |v6|
50 // SICI
: v_cmp_lt_f32_e64 s
[2:3], v4
, |v6| ; encoding
: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x00]
51 // VI
: v_cmp_lt_f32_e64 s
[2:3], v4
, |v6| ; encoding
: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x00]
53 v_cmp_lt_f32 s
[2:3] |v4|
, |v6|
54 // SICI
: v_cmp_lt_f32_e64 s
[2:3], |v4|
, |v6| ; encoding
: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x00]
55 // VI
: v_cmp_lt_f32_e64 s
[2:3], |v4|
, |v6| ; encoding
: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x00]
57 v_cmp_lt_f32 s
[2:3] -|v4|
, v6
58 // SICI
: v_cmp_lt_f32_e64 s
[2:3], -|v4|
, v6 ; encoding
: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x20]
59 // VI
: v_cmp_lt_f32_e64 s
[2:3], -|v4|
, v6 ; encoding
: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]
61 v_cmp_lt_f32 s
[2:3] -abs(v4
), v6
62 // SICI
: v_cmp_lt_f32_e64 s
[2:3], -|v4|
, v6 ; encoding
: [0x02,0x01,0x02,0xd0,0x04,0x0d,0x02,0x20]
63 // VI
: v_cmp_lt_f32_e64 s
[2:3], -|v4|
, v6 ; encoding
: [0x02,0x01,0x41,0xd0,0x04,0x0d,0x02,0x20]
65 v_cmp_lt_f32 s
[2:3] v4
, -|v6|
66 // SICI
: v_cmp_lt_f32_e64 s
[2:3], v4
, -|v6| ; encoding
: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x40]
67 // VI
: v_cmp_lt_f32_e64 s
[2:3], v4
, -|v6| ; encoding
: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]
69 v_cmp_lt_f32 s
[2:3] v4
, -abs(v6
)
70 // SICI
: v_cmp_lt_f32_e64 s
[2:3], v4
, -|v6| ; encoding
: [0x02,0x02,0x02,0xd0,0x04,0x0d,0x02,0x40]
71 // VI
: v_cmp_lt_f32_e64 s
[2:3], v4
, -|v6| ; encoding
: [0x02,0x02,0x41,0xd0,0x04,0x0d,0x02,0x40]
73 v_cmp_lt_f32 s
[2:3] -|v4|
, -|v6|
74 // SICI
: v_cmp_lt_f32_e64 s
[2:3], -|v4|
, -|v6| ; encoding
: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x60]
75 // VI
: v_cmp_lt_f32_e64 s
[2:3], -|v4|
, -|v6| ; encoding
: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]
77 v_cmp_lt_f32 s
[2:3] -abs(v4
), -abs(v6
)
78 // SICI
: v_cmp_lt_f32_e64 s
[2:3], -|v4|
, -|v6| ; encoding
: [0x02,0x03,0x02,0xd0,0x04,0x0d,0x02,0x60]
79 // VI
: v_cmp_lt_f32_e64 s
[2:3], -|v4|
, -|v6| ; encoding
: [0x02,0x03,0x41,0xd0,0x04,0x0d,0x02,0x60]
85 v_cmp_f_f32 s
[2:3], v4
, v6
86 // SICI
: v_cmp_f_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x00,0xd0,0x04,0x0d,0x02,0x00]
87 // VI
: v_cmp_f_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x40,0xd0,0x04,0x0d,0x02,0x00]
89 v_cmp_lt_f32 s
[2:3], v4
, v6
90 // SICI
: v_cmp_lt_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x02,0xd0,0x04,0x0d,0x02,0x00]
91 // VI
: v_cmp_lt_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x41,0xd0,0x04,0x0d,0x02,0x00]
93 v_cmp_eq_f32 s
[2:3], v4
, v6
94 // SICI
: v_cmp_eq_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x04,0xd0,0x04,0x0d,0x02,0x00]
95 // VI
: v_cmp_eq_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x42,0xd0,0x04,0x0d,0x02,0x00]
97 v_cmp_le_f32 s
[2:3], v4
, v6
98 // SICI
: v_cmp_le_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x06,0xd0,0x04,0x0d,0x02,0x00]
99 // VI
: v_cmp_le_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x43,0xd0,0x04,0x0d,0x02,0x00]
101 v_cmp_gt_f32 s
[2:3], v4
, v6
102 // SICI
: v_cmp_gt_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x08,0xd0,0x04,0x0d,0x02,0x00]
103 // VI
: v_cmp_gt_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x44,0xd0,0x04,0x0d,0x02,0x00]
105 v_cmp_lg_f32 s
[2:3], v4
, v6
106 // SICI
: v_cmp_lg_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x0a,0xd0,0x04,0x0d,0x02,0x00]
107 // VI
: v_cmp_lg_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x45,0xd0,0x04,0x0d,0x02,0x00]
109 v_cmp_ge_f32 s
[2:3], v4
, v6
110 // SICI
: v_cmp_ge_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x0c,0xd0,0x04,0x0d,0x02,0x00]
111 // VI
: v_cmp_ge_f32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x46,0xd0,0x04,0x0d,0x02,0x00]
113 // TODO
: Add tests for the rest of v_cmp_
*_f32
114 // TODO
: Add tests for v_cmpx_
*_f32
116 v_cmp_f_f64 s
[2:3], v
[4:5], v
[6:7]
117 // SICI
: v_cmp_f_f64_e64 s
[2:3], v
[4:5], v
[6:7] ; encoding
: [0x02,0x00,0x40,0xd0,0x04,0x0d,0x02,0x00]
118 // VI
: v_cmp_f_f64_e64 s
[2:3], v
[4:5], v
[6:7] ; encoding
: [0x02,0x00,0x60,0xd0,0x04,0x0d,0x02,0x00]
120 // TODO
: Add tests for the rest of v_cmp_
*_f64
121 // TODO
: Add tests for the rest of the floating-point comparision instructions.
123 v_cmp_f_i32 s
[2:3], v4
, v6
124 // SICI
: v_cmp_f_i32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0x00,0xd1,0x04,0x0d,0x02,0x00]
125 // VI
: v_cmp_f_i32_e64 s
[2:3], v4
, v6 ; encoding
: [0x02,0x00,0xc0,0xd0,0x04,0x0d,0x02,0x00]
127 // TODO
: Add test for the rest of v_cmp_
*_i32
129 v_cmp_f_i64 s
[2:3], v
[4:5], v
[6:7]
130 // SICI
: v_cmp_f_i64_e64 s
[2:3], v
[4:5], v
[6:7] ; encoding
: [0x02,0x00,0x40,0xd1,0x04,0x0d,0x02,0x00]
131 // VI
: v_cmp_f_i64_e64 s
[2:3], v
[4:5], v
[6:7] ; encoding
: [0x02,0x00,0xe0,0xd0,0x04,0x0d,0x02,0x00]
133 // TODO
: Add tests for the rest of the instructions.
135 //===----------------------------------------------------------------------===//
137 //===----------------------------------------------------------------------===//
139 // Test forced e64 encoding with e32 operands
142 // SICI
: v_mov_b32_e64 v1
, v2 ; encoding
: [0x01,0x00,0x02,0xd3,0x02,0x01,0x00,0x00]
143 // VI
: v_mov_b32_e64 v1
, v2 ; encoding
: [0x01,0x00,0x41,0xd1,0x02,0x01,0x00,0x00]
145 // Force e64 encoding for special instructions.
146 // FIXME
, we should
be printing the _e64 suffix for v_nop
and v_clrexcp.
149 // SICI
: v_nop ; encoding
: [0x00,0x00,0x00,0xd3,0x00,0x00,0x00,0x00]
150 // VI
: v_nop ; encoding
: [0x00,0x00,0x40,0xd1,0x00,0x00,0x00,0x00]
153 // SICI
: v_clrexcp ; encoding
: [0x00,0x00,0x82,0xd3,0x00,0x00,0x00,0x00]
154 // VI
: v_clrexcp ; encoding
: [0x00,0x00,0x75,0xd1,0x00,0x00,0x00,0x00]
161 // SICI
: v_fract_f32_e64 v1
, -v2 ; encoding
: [0x01,0x00,0x40,0xd3,0x02,0x01,0x00,0x20]
162 // VI
: v_fract_f32_e64 v1
, -v2 ; encoding
: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x20]
165 // SICI
: v_fract_f32_e64 v1
, |v2| ; encoding
: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x00]
166 // VI
: v_fract_f32_e64 v1
, |v2| ; encoding
: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]
168 v_fract_f32 v1
, abs(v2
)
169 // SICI
: v_fract_f32_e64 v1
, |v2| ; encoding
: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x00]
170 // VI
: v_fract_f32_e64 v1
, |v2| ; encoding
: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x00]
172 v_fract_f32 v1
, -|v2|
173 // SICI
: v_fract_f32_e64 v1
, -|v2| ; encoding
: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x20]
174 // VI
: v_fract_f32_e64 v1
, -|v2| ; encoding
: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]
176 v_fract_f32 v1
, -abs(v2
)
177 // SICI
: v_fract_f32_e64 v1
, -|v2| ; encoding
: [0x01,0x01,0x40,0xd3,0x02,0x01,0x00,0x20]
178 // VI
: v_fract_f32_e64 v1
, -|v2| ; encoding
: [0x01,0x01,0x5b,0xd1,0x02,0x01,0x00,0x20]
180 v_fract_f32 v1
, v2 clamp
181 // SICI
: v_fract_f32_e64 v1
, v2 clamp ; encoding
: [0x01,0x08,0x40,0xd3,0x02,0x01,0x00,0x00]
182 // VI
: v_fract_f32_e64 v1
, v2 clamp ; encoding
: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x00]
184 v_fract_f32 v1
, v2
mul:2
185 // SICI
: v_fract_f32_e64 v1
, v2
mul:2 ; encoding
: [0x01,0x00,0x40,0xd3,0x02,0x01,0x00,0x08]
186 // VI
: v_fract_f32_e64 v1
, v2
mul:2 ; encoding
: [0x01,0x00,0x5b,0xd1,0x02,0x01,0x00,0x08]
188 v_fract_f32 v1
, v2
, clamp
div:2
189 // SICI
: v_fract_f32_e64 v1
, v2 clamp
div:2 ; encoding
: [0x01,0x08,0x40,0xd3,0x02,0x01,0x00,0x18]
190 // VI
: v_fract_f32_e64 v1
, v2 clamp
div:2 ; encoding
: [0x01,0x80,0x5b,0xd1,0x02,0x01,0x00,0x18]
194 ///===---------------------------------------------------------------------===//
196 ///===---------------------------------------------------------------------===//
198 // Test forced e64 encoding with e32 operands
200 v_add_f32_e64 v1
, v3
, v5
201 // SICI
: v_add_f32_e64 v1
, v3
, v5 ; encoding
: [0x01,0x00,0x06,0xd2,0x03,0x0b,0x02,0x00]
202 // VI
: v_add_f32_e64 v1
, v3
, v5 ; encoding
: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x02,0x00]
205 // TODO
: Modifier tests
(v_cndmask done
)
207 v_cndmask_b32 v1
, v3
, v5
, s
[4:5]
208 // SICI
: v_cndmask_b32_e64 v1
, v3
, v5
, s
[4:5] ; encoding
: [0x01,0x00,0x00,0xd2,0x03,0x0b,0x12,0x00]
209 // VI
: v_cndmask_b32_e64 v1
, v3
, v5
, s
[4:5] ; encoding
: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x00]
211 v_cndmask_b32_e64 v1
, v3
, v5
, s
[4:5]
212 // SICI
: v_cndmask_b32_e64 v1
, v3
, v5
, s
[4:5] ; encoding
: [0x01,0x00,0x00,0xd2,0x03,0x0b,0x12,0x00]
213 // VI
: v_cndmask_b32_e64 v1
, v3
, v5
, s
[4:5] ; encoding
: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x00]
215 v_cndmask_b32_e64 v1
, v3
, v5
, vcc
216 // SICI
: v_cndmask_b32_e64 v1
, v3
, v5
, vcc ; encoding
: [0x01,0x00,0x00,0xd2,0x03,0x0b,0xaa,0x01]
217 // VI
: v_cndmask_b32_e64 v1
, v3
, v5
, vcc ; encoding
: [0x01,0x00,0x00,0xd1,0x03,0x0b,0xaa,0x01]
219 v_cndmask_b32 v1
, -v3
, v5
, s
[4:5]
220 // SICI
: v_cndmask_b32_e64 v1
, -v3
, v5
, s
[4:5] ; encoding
: [0x01,0x00,0x00,0xd2,0x03,0x0b,0x12,0x20]
221 // VI
: v_cndmask_b32_e64 v1
, -v3
, v5
, s
[4:5] ; encoding
: [0x01,0x00,0x00,0xd1,0x03,0x0b,0x12,0x20]
223 v_cndmask_b32_e64 v1
, v3
, |v5|
, s
[4:5]
224 // SICI
: v_cndmask_b32_e64 v1
, v3
, |v5|
, s
[4:5] ; encoding
: [0x01,0x02,0x00,0xd2,0x03,0x0b,0x12,0x00]
225 // VI
: v_cndmask_b32_e64 v1
, v3
, |v5|
, s
[4:5] ; encoding
: [0x01,0x02,0x00,0xd1,0x03,0x0b,0x12,0x00]
227 v_cndmask_b32_e64 v1
, -abs(v3
), v5
, vcc
228 // SICI
: v_cndmask_b32_e64 v1
, -|v3|
, v5
, vcc ; encoding
: [0x01,0x01,0x00,0xd2,0x03,0x0b,0xaa,0x21]
229 // VI
: v_cndmask_b32_e64 v1
, -|v3|
, v5
, vcc ; encoding
: [0x01,0x01,0x00,0xd1,0x03,0x0b,0xaa,0x21]
231 //TODO
: readlane
, writelane
234 // SICI
: v_add_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x06,0xd2,0x03,0x0b,0x00,0x00]
235 // VI
: v_add_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x01,0xd1,0x03,0x0b,0x00,0x00]
238 // SICI
: v_sub_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x08,0xd2,0x03,0x0b,0x00,0x00]
239 // VI
: v_sub_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x02,0xd1,0x03,0x0b,0x00,0x00]
241 v_subrev_f32 v1
, v3
, s5
242 // SICI
: v_subrev_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x0a,0xd2,0x03,0x0b,0x00,0x00]
243 // VI
: v_subrev_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x03,0xd1,0x03,0x0b,0x00,0x00]
245 v_mac_legacy_f32 v1
, v3
, s5
246 // SICI
: v_mac_legacy_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x0c,0xd2,0x03,0x0b,0x00,0x00]
247 // NOVI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
249 v_mul_legacy_f32 v1
, v3
, s5
250 // SICI
: v_mul_legacy_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x0e,0xd2,0x03,0x0b,0x00,0x00]
251 // VI
: v_mul_legacy_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x04,0xd1,0x03,0x0b,0x00,0x00]
254 // SICI
: v_mul_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x10,0xd2,0x03,0x0b,0x00,0x00]
255 // VI
: v_mul_f32_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x05,0xd1,0x03,0x0b,0x00,0x00]
257 v_mul_i32_i24 v1
, v3
, s5
258 // SICI
: v_mul_i32_i24_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x12,0xd2,0x03,0x0b,0x00,0x00]
259 // VI
: v_mul_i32_i24_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x06,0xd1,0x03,0x0b,0x00,0x00]
261 v_mul_i32_i24 v1
, v3
, s5 clamp
262 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
263 // VI
: v_mul_i32_i24_e64 v1
, v3
, s5 clamp ; encoding
: [0x01,0x80,0x06,0xd1,0x03,0x0b,0x00,0x00]
265 v_mul_u32_u24 v1
, v3
, s5
266 // SICI
: v_mul_u32_u24_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x16,0xd2,0x03,0x0b,0x00,0x00]
267 // VI
: v_mul_u32_u24_e64 v1
, v3
, s5 ; encoding
: [0x01,0x00,0x08,0xd1,0x03,0x0b,0x00,0x00]
269 v_mul_u32_u24 v1
, v3
, s5 clamp
270 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
271 // VI
: v_mul_u32_u24_e64 v1
, v3
, s5 clamp ; encoding
: [0x01,0x80,0x08,0xd1,0x03,0x0b,0x00,0x00]
273 v_mac_f32_e64 v0
, v1
, v2
274 // SICI
: v_mac_f32_e64 v0
, v1
, v2 ; encoding
: [0x00,0x00,0x3e,0xd2,0x01,0x05,0x02,0x00]
275 // VI
: v_mac_f32_e64 v0
, v1
, v2 ; encoding
: [0x00,0x00,0x16,0xd1,0x01,0x05,0x02,0x00]
277 v_mac_f32_e64 v0
, v1
, v2 clamp
278 // SICI
: v_mac_f32_e64 v0
, v1
, v2 clamp ; encoding
: [0x00,0x08,0x3e,0xd2,0x01,0x05,0x02,0x00]
279 // VI
: v_mac_f32_e64 v0
, v1
, v2 clamp ; encoding
: [0x00,0x80,0x16,0xd1,0x01,0x05,0x02,0x00]
281 v_mac_f32_e64 v0
, v1
, v2
mul:2
282 // SICI
: v_mac_f32_e64 v0
, v1
, v2
mul:2 ; encoding
: [0x00,0x00,0x3e,0xd2,0x01,0x05,0x02,0x08]
283 // VI
: v_mac_f32_e64 v0
, v1
, v2
mul:2 ; encoding
: [0x00,0x00,0x16,0xd1,0x01,0x05,0x02,0x08]
285 v_mac_f32_e64 v0
, -v1
, |v2|
286 // SICI
: v_mac_f32_e64 v0
, -v1
, |v2| ; encoding
: [0x00,0x02,0x3e,0xd2,0x01,0x05,0x02,0x20]
287 // VI
: v_mac_f32_e64 v0
, -v1
, |v2| ; encoding
: [0x00,0x02,0x16,0xd1,0x01,0x05,0x02,0x20]
289 v_mac_f16_e64 v0
, 0.5, flat_scratch_lo
290 // VI
: v_mac_f16_e64 v0
, 0.5, flat_scratch_lo ; encoding
: [0x00,0x00,0x23,0xd1,0xf0,0xcc,0x00,0x00]
291 // NOCI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
292 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
294 v_mac_f16_e64 v0
, -4.0, flat_scratch_lo
295 // VI
: v_mac_f16_e64 v0
, -4.0, flat_scratch_lo ; encoding
: [0x00,0x00,0x23,0xd1,0xf7,0xcc,0x00,0x00]
296 // NOCI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
297 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
299 v_mac_f16_e64 v0
, flat_scratch_lo
, -4.0
300 // VI
: v_mac_f16_e64 v0
, flat_scratch_lo
, -4.0 ; encoding
: [0x00,0x00,0x23,0xd1,0x66,0xee,0x01,0x00]
301 // NOCI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
302 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
304 v_add_u32 v84
, vcc
, v13
, s31 clamp
305 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
306 // VI
: v_add_u32_e64 v84
, vcc
, v13
, s31 clamp ; encoding
: [0x54,0xea,0x19,0xd1,0x0d,0x3f,0x00,0x00]
308 v_sub_u32 v84
, s
[2:3], v13
, s31 clamp
309 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
310 // VI
: v_sub_u32_e64 v84
, s
[2:3], v13
, s31 clamp ; encoding
: [0x54,0x82,0x1a,0xd1,0x0d,0x3f,0x00,0x00]
312 v_subrev_u32 v84
, vcc
, v13
, s31 clamp
313 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
314 // VI
: v_subrev_u32_e64 v84
, vcc
, v13
, s31 clamp ; encoding
: [0x54,0xea,0x1b,0xd1,0x0d,0x3f,0x00,0x00]
316 v_addc_u32 v84
, s
[4:5], v13
, v31
, vcc clamp
317 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
318 // VI
: v_addc_u32_e64 v84
, s
[4:5], v13
, v31
, vcc clamp ; encoding
: [0x54,0x84,0x1c,0xd1,0x0d,0x3f,0xaa,0x01]
320 v_subb_u32 v84
, s
[2:3], v13
, v31
, vcc clamp
321 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
322 // VI
: v_subb_u32_e64 v84
, s
[2:3], v13
, v31
, vcc clamp ; encoding
: [0x54,0x82,0x1d,0xd1,0x0d,0x3f,0xaa,0x01]
324 v_subbrev_u32 v84
, vcc
, v13
, v31
, s
[6:7] clamp
325 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
326 // VI
: v_subbrev_u32_e64 v84
, vcc
, v13
, v31
, s
[6:7] clamp ; encoding
: [0x54,0xea,0x1e,0xd1,0x0d,0x3f,0x1a,0x00]
328 ///===---------------------------------------------------------------------===//
330 ///===---------------------------------------------------------------------===//
332 // TODO
: Modifier tests
334 v_mad_legacy_f32 v2
, v4
, v6
, v8
335 // SICI
: v_mad_legacy_f32 v2
, v4
, v6
, v8 ; encoding
: [0x02,0x00,0x80,0xd2,0x04,0x0d,0x22,0x04]
336 // VI
: v_mad_legacy_f32 v2
, v4
, v6
, v8 ; encoding
: [0x02,0x00,0xc0,0xd1,0x04,0x0d,0x22,0x04]
338 v_add_f64 v
[0:1], v
[2:3], v
[5:6]
339 // SICI
: v_add_f64 v
[0:1], v
[2:3], v
[5:6] ; encoding
: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x00]
340 // VI
: v_add_f64 v
[0:1], v
[2:3], v
[5:6] ; encoding
: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]
342 v_add_f64_e64 v
[0:1], v
[2:3], v
[5:6]
343 // SICI
: v_add_f64 v
[0:1], v
[2:3], v
[5:6] ; encoding
: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x00]
344 // VI
: v_add_f64 v
[0:1], v
[2:3], v
[5:6] ; encoding
: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x00]
346 v_add_f64 v
[0:1], -v
[2:3], v
[5:6]
347 // SICI
: v_add_f64 v
[0:1], -v
[2:3], v
[5:6] ; encoding
: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x20]
348 // VI
: v_add_f64 v
[0:1], -v
[2:3], v
[5:6] ; encoding
: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]
350 v_add_f64_e64 v
[0:1], -v
[2:3], v
[5:6]
351 // SICI
: v_add_f64 v
[0:1], -v
[2:3], v
[5:6] ; encoding
: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x20]
352 // VI
: v_add_f64 v
[0:1], -v
[2:3], v
[5:6] ; encoding
: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x20]
354 v_add_f64 v
[0:1], v
[2:3], -v
[5:6]
355 // SICI
: v_add_f64 v
[0:1], v
[2:3], -v
[5:6] ; encoding
: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x40]
356 // VI
: v_add_f64 v
[0:1], v
[2:3], -v
[5:6] ; encoding
: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]
358 v_add_f64_e64 v
[0:1], v
[2:3], -v
[5:6]
359 // SICI
: v_add_f64 v
[0:1], v
[2:3], -v
[5:6] ; encoding
: [0x00,0x00,0xc8,0xd2,0x02,0x0b,0x02,0x40]
360 // VI
: v_add_f64 v
[0:1], v
[2:3], -v
[5:6] ; encoding
: [0x00,0x00,0x80,0xd2,0x02,0x0b,0x02,0x40]
362 v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6]
363 // SICI
: v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6] ; encoding
: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]
364 // VI
: v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6] ; encoding
: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
366 v_add_f64 v
[0:1], abs(v
[2:3]), v
[5:6]
367 // SICI
: v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6] ; encoding
: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]
368 // VI
: v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6] ; encoding
: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
370 v_add_f64_e64 v
[0:1], |v
[2:3]|
, v
[5:6]
371 // SICI
: v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6] ; encoding
: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]
372 // VI
: v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6] ; encoding
: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
374 v_add_f64_e64 v
[0:1], abs(v
[2:3]), v
[5:6]
375 // SICI
: v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6] ; encoding
: [0x00,0x01,0xc8,0xd2,0x02,0x0b,0x02,0x00]
376 // VI
: v_add_f64 v
[0:1], |v
[2:3]|
, v
[5:6] ; encoding
: [0x00,0x01,0x80,0xd2,0x02,0x0b,0x02,0x00]
378 v_add_f64 v
[0:1], v
[2:3], |v
[5:6]|
379 // SICI
: v_add_f64 v
[0:1], v
[2:3], |v
[5:6]| ; encoding
: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
380 // VI
: v_add_f64 v
[0:1], v
[2:3], |v
[5:6]| ; encoding
: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
382 v_add_f64 v
[0:1], v
[2:3], abs(v
[5:6])
383 // SICI
: v_add_f64 v
[0:1], v
[2:3], |v
[5:6]| ; encoding
: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
384 // VI
: v_add_f64 v
[0:1], v
[2:3], |v
[5:6]| ; encoding
: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
386 v_add_f64_e64 v
[0:1], v
[2:3], |v
[5:6]|
387 // SICI
: v_add_f64 v
[0:1], v
[2:3], |v
[5:6]| ; encoding
: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
388 // VI
: v_add_f64 v
[0:1], v
[2:3], |v
[5:6]| ; encoding
: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
390 v_add_f64_e64 v
[0:1], v
[2:3], abs(v
[5:6])
391 // SICI
: v_add_f64 v
[0:1], v
[2:3], |v
[5:6]| ; encoding
: [0x00,0x02,0xc8,0xd2,0x02,0x0b,0x02,0x00]
392 // VI
: v_add_f64 v
[0:1], v
[2:3], |v
[5:6]| ; encoding
: [0x00,0x02,0x80,0xd2,0x02,0x0b,0x02,0x00]
394 v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4
395 // SICI
: v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4 ; encoding
: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
396 // VI
: v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4 ; encoding
: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
398 v_add_f64 v
[0:1], -v
[2:3], abs(v
[5:6]) clamp
mul:4
399 // SICI
: v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4 ; encoding
: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
400 // VI
: v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4 ; encoding
: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
402 v_add_f64_e64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4
403 // SICI
: v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4 ; encoding
: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
404 // VI
: v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4 ; encoding
: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
406 v_add_f64_e64 v
[0:1], -v
[2:3], abs(v
[5:6]) clamp
mul:4
407 // SICI
: v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4 ; encoding
: [0x00,0x0a,0xc8,0xd2,0x02,0x0b,0x02,0x30]
408 // VI
: v_add_f64 v
[0:1], -v
[2:3], |v
[5:6]| clamp
mul:4 ; encoding
: [0x00,0x82,0x80,0xd2,0x02,0x0b,0x02,0x30]
410 v_div_scale_f64 v
[24:25], vcc
, v
[22:23], v
[22:23], v
[20:21]
411 // SICI
: v_div_scale_f64 v
[24:25], vcc
, v
[22:23], v
[22:23], v
[20:21] ; encoding
: [0x18,0x6a,0xdc,0xd2,0x16,0x2d,0x52,0x04]
412 // VI
: v_div_scale_f64 v
[24:25], vcc
, v
[22:23], v
[22:23], v
[20:21] ; encoding
: [0x18,0x6a,0xe1,0xd1,0x16,0x2d,0x52,0x04]
414 v_div_scale_f64 v
[24:25], s
[10:11], -v
[22:23], v
[20:21], v
[20:21] clamp
415 // SICI
: v_div_scale_f64 v
[24:25], s
[10:11], -v
[22:23], v
[20:21], v
[20:21] clamp ; encoding
: [0x18,0x0a,0xdc,0xd2,0x16,0x29,0x52,0x24]
416 // VI
: v_div_scale_f64 v
[24:25], s
[10:11], -v
[22:23], v
[20:21], v
[20:21] clamp ; encoding
: [0x18,0x8a,0xe1,0xd1,0x16,0x29,0x52,0x24]
418 v_div_scale_f64 v
[24:25], s
[10:11], v
[22:23], -v
[20:21], v
[20:21] clamp
mul:2
419 // SICI
: v_div_scale_f64 v
[24:25], s
[10:11], v
[22:23], -v
[20:21], v
[20:21] clamp
mul:2 ; encoding
: [0x18,0x0a,0xdc,0xd2,0x16,0x29,0x52,0x4c]
420 // VI
: v_div_scale_f64 v
[24:25], s
[10:11], v
[22:23], -v
[20:21], v
[20:21] clamp
mul:2 ; encoding
: [0x18,0x8a,0xe1,0xd1,0x16,0x29,0x52,0x4c]
422 v_div_scale_f64 v
[24:25], s
[10:11], v
[22:23], v
[20:21], -v
[20:21]
423 // SICI
: v_div_scale_f64 v
[24:25], s
[10:11], v
[22:23], v
[20:21], -v
[20:21] ; encoding
: [0x18,0x0a,0xdc,0xd2,0x16,0x29,0x52,0x84]
424 // VI
: v_div_scale_f64 v
[24:25], s
[10:11], v
[22:23], v
[20:21], -v
[20:21] ; encoding
: [0x18,0x0a,0xe1,0xd1,0x16,0x29,0x52,0x84]
426 v_div_scale_f32 v24
, vcc
, v22
, v22
, v20
427 // SICI
: v_div_scale_f32 v24
, vcc
, v22
, v22
, v20 ; encoding
: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x04]
428 // VI
: v_div_scale_f32 v24
, vcc
, v22
, v22
, v20 ; encoding
: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0x52,0x04]
430 v_div_scale_f32 v24
, vcc
, -v22
, v22
, v20
431 // SICI
: v_div_scale_f32 v24
, vcc
, -v22
, v22
, v20 ; encoding
: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x24]
432 // VI
: v_div_scale_f32 v24
, vcc
, -v22
, v22
, v20 ; encoding
: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0x52,0x24]
434 v_div_scale_f32 v24
, vcc
, v22
, -v22
, v20 clamp
435 // SICI
: v_div_scale_f32 v24
, vcc
, v22
, -v22
, v20 clamp ; encoding
: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x44]
436 // VI
: v_div_scale_f32 v24
, vcc
, v22
, -v22
, v20 clamp ; encoding
: [0x18,0xea,0xe0,0xd1,0x16,0x2d,0x52,0x44]
438 v_div_scale_f32 v24
, vcc
, v22
, v22
, -v20 clamp
div:2
439 // SICI
: v_div_scale_f32 v24
, vcc
, v22
, v22
, -v20 clamp
div:2 ; encoding
: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0x52,0x9c]
440 // VI
: v_div_scale_f32 v24
, vcc
, v22
, v22
, -v20 clamp
div:2 ; encoding
: [0x18,0xea,0xe0,0xd1,0x16,0x2d,0x52,0x9c]
442 v_div_scale_f32 v24
, s
[10:11], v22
, v22
, v20
443 // SICI
: v_div_scale_f32 v24
, s
[10:11], v22
, v22
, v20 ; encoding
: [0x18,0x0a,0xda,0xd2,0x16,0x2d,0x52,0x04]
444 // VI
: v_div_scale_f32 v24
, s
[10:11], v22
, v22
, v20 ; encoding
: [0x18,0x0a,0xe0,0xd1,0x16,0x2d,0x52,0x04]
446 v_div_scale_f32 v24
, vcc
, v22
, 1.0, v22
447 // SICI
: v_div_scale_f32 v24
, vcc
, v22
, 1.0, v22 ; encoding
: [0x18,0x6a,0xda,0xd2,0x16,0xe5,0x59,0x04]
448 // VI
: v_div_scale_f32 v24
, vcc
, v22
, 1.0, v22 ; encoding
: [0x18,0x6a,0xe0,0xd1,0x16,0xe5,0x59,0x04]
450 v_div_scale_f32 v24
, vcc
, v22
, v22
, -2.0
451 // SICI
: v_div_scale_f32 v24
, vcc
, v22
, v22
, -2.0 ; encoding
: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0xd6,0x03]
452 // VI
: v_div_scale_f32 v24
, vcc
, v22
, v22
, -2.0 ; encoding
: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]
454 v_div_scale_f32 v24
, vcc
, v22
, v22
, 0xc0000000
455 // SICI
: v_div_scale_f32 v24
, vcc
, v22
, v22
, -2.0 ; encoding
: [0x18,0x6a,0xda,0xd2,0x16,0x2d,0xd6,0x03]
456 // VI
: v_div_scale_f32 v24
, vcc
, v22
, v22
, -2.0 ; encoding
: [0x18,0x6a,0xe0,0xd1,0x16,0x2d,0xd6,0x03]
458 v_mad_f32 v9
, 0.5, v5
, -v8
459 // SICI
: v_mad_f32 v9
, 0.5, v5
, -v8 ; encoding
: [0x09,0x00,0x82,0xd2,0xf0,0x0a,0x22,0x84]
460 // VI
: v_mad_f32 v9
, 0.5, v5
, -v8 ; encoding
: [0x09,0x00,0xc1,0xd1,0xf0,0x0a,0x22,0x84]
462 v_mqsad_u32_u8 v
[5:8], s
[2:3], v4
, v
[0:3]
463 // CI
: v_mqsad_u32_u8 v
[5:8], s
[2:3], v4
, v
[0:3] ; encoding
: [0x05,0x00,0xea,0xd2,0x02,0x08,0x02,0x04]
464 // VI
: v_mqsad_u32_u8 v
[5:8], s
[2:3], v4
, v
[0:3] ; encoding
: [0x05,0x00,0xe7,0xd1,0x02,0x08,0x02,0x04]
465 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
467 v_mad_u64_u32 v
[5:6], s
[12:13], s1
, 0, 0
468 // CI
: v_mad_u64_u32 v
[5:6], s
[12:13], s1
, 0, 0 ; encoding
: [0x05,0x0c,0xec,0xd2,0x01,0x00,0x01,0x02]
469 // VI
: v_mad_u64_u32 v
[5:6], s
[12:13], s1
, 0, 0 ; encoding
: [0x05,0x0c,0xe8,0xd1,0x01,0x00,0x01,0x02]
470 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
472 v_mad_i64_i32 v
[5:6], s
[12:13], s1
, 0, v
[254:255]
473 // CI
: v_mad_i64_i32 v
[5:6], s
[12:13], s1
, 0, v
[254:255] ; encoding
: [0x05,0x0c,0xee,0xd2,0x01,0x00,0xf9,0x07]
474 // VI
: v_mad_i64_i32 v
[5:6], s
[12:13], s1
, 0, v
[254:255] ; encoding
: [0x05,0x0c,0xe9,0xd1,0x01,0x00,0xf9,0x07]
475 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
477 v_cmp_class_f16_e64 s
[10:11], v1
, s2
478 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
479 // VI
: v_cmp_class_f16_e64 s
[10:11], v1
, s2 ; encoding
: [0x0a,0x00,0x14,0xd0,0x01,0x05,0x00,0x00]
481 v_cmp_class_f32_e64 s
[10:11], -v1
, s2
482 // SICI
: v_cmp_class_f32_e64 s
[10:11], -v1
, s2 ; encoding
: [0x0a,0x00,0x10,0xd1,0x01,0x05,0x00,0x20]
483 // VI
: v_cmp_class_f32_e64 s
[10:11], -v1
, s2 ; encoding
: [0x0a,0x00,0x10,0xd0,0x01,0x05,0x00,0x20]
485 v_cmp_class_f64_e64 s
[10:11], -v
[254:255], s2
486 // SICI
: v_cmp_class_f64_e64 s
[10:11], -v
[254:255], s2 ; encoding
: [0x0a,0x00,0x50,0xd1,0xfe,0x05,0x00,0x20]
487 // VI
: v_cmp_class_f64_e64 s
[10:11], -v
[254:255], s2 ; encoding
: [0x0a,0x00,0x12,0xd0,0xfe,0x05,0x00,0x20]
489 v_cmpx_class_f16_e64 s
[10:11], v255
, s2
490 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
491 // VI
: v_cmpx_class_f16_e64 s
[10:11], v255
, s2 ; encoding
: [0x0a,0x00,0x15,0xd0,0xff,0x05,0x00,0x00]
493 v_cmpx_class_f32_e64 s
[10:11], 0, s101
494 // SICI
: v_cmpx_class_f32_e64 s
[10:11], 0, s101 ; encoding
: [0x0a,0x00,0x30,0xd1,0x80,0xca,0x00,0x00]
495 // VI
: v_cmpx_class_f32_e64 s
[10:11], 0, s101 ; encoding
: [0x0a,0x00,0x11,0xd0,0x80,0xca,0x00,0x00]
497 v_cmpx_class_f64_e64 s
[10:11], -v
[1:2], s2
498 // SICI
: v_cmpx_class_f64_e64 s
[10:11], -v
[1:2], s2 ; encoding
: [0x0a,0x00,0x70,0xd1,0x01,0x05,0x00,0x20]
499 // VI
: v_cmpx_class_f64_e64 s
[10:11], -v
[1:2], s2 ; encoding
: [0x0a,0x00,0x13,0xd0,0x01,0x05,0x00,0x20]
505 v_mul_f64 v
[0:1], |
0|
, |
0|
506 // SICI
: v_mul_f64 v
[0:1], |
0|
, |
0| ; encoding
: [0x00,0x03,0xca,0xd2,0x80,0x00,0x01,0x00]
507 // VI
: v_mul_f64 v
[0:1], |
0|
, |
0| ; encoding
: [0x00,0x03,0x81,0xd2,0x80,0x00,0x01,0x00]
509 v_cubeid_f32 v0
, |
-1|
, |
-1.0|
, |
1.0|
510 // SICI
: v_cubeid_f32 v0
, |
-1|
, |
-1.0|
, |
1.0| ; encoding
: [0x00,0x07,0x88,0xd2,0xc1,0xe6,0xc9,0x03]
511 // VI
: v_cubeid_f32 v0
, |
-1|
, |
-1.0|
, |
1.0| ; encoding
: [0x00,0x07,0xc4,0xd1,0xc1,0xe6,0xc9,0x03]
513 ///===---------------------------------------------------------------------===//
515 ///===---------------------------------------------------------------------===//
517 v_fma_f16_e64 v5
, v1
, v2
, v3
518 // VI
: v_fma_f16 v5
, v1
, v2
, v3 ; encoding
: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0x04]
519 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
521 v_fma_f16 v5
, v1
, v2
, 0.5
522 // VI
: v_fma_f16 v5
, v1
, v2
, 0.5 ; encoding
: [0x05,0x00,0xee,0xd1,0x01,0x05,0xc2,0x03]
523 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
525 v_fma_f16 v5
, -v1
, -v2
, -v3
526 // VI
: v_fma_f16 v5
, -v1
, -v2
, -v3 ; encoding
: [0x05,0x00,0xee,0xd1,0x01,0x05,0x0e,0xe4]
527 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
529 v_fma_f16 v5
, |v1|
, |v2|
, |v3|
530 // VI
: v_fma_f16 v5
, |v1|
, |v2|
, |v3| ; encoding
: [0x05,0x07,0xee,0xd1,0x01,0x05,0x0e,0x04]
531 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
533 v_fma_f16 v5
, v1
, v2
, v3 clamp
534 // VI
: v_fma_f16 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xee,0xd1,0x01,0x05,0x0e,0x04]
535 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
537 v_div_fixup_f16_e64 v5
, v1
, v2
, v3
538 // VI
: v_div_fixup_f16 v5
, v1
, v2
, v3 ; encoding
: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x04]
539 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
541 v_div_fixup_f16 v5
, 0.5, v2
, v3
542 // VI
: v_div_fixup_f16 v5
, 0.5, v2
, v3 ; encoding
: [0x05,0x00,0xef,0xd1,0xf0,0x04,0x0e,0x04]
543 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
545 v_div_fixup_f16 v5
, v1
, 0.5, v3
546 // VI
: v_div_fixup_f16 v5
, v1
, 0.5, v3 ; encoding
: [0x05,0x00,0xef,0xd1,0x01,0xe1,0x0d,0x04]
547 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
549 v_div_fixup_f16 v5
, v1
, v2
, 0.5
550 // VI
: v_div_fixup_f16 v5
, v1
, v2
, 0.5 ; encoding
: [0x05,0x00,0xef,0xd1,0x01,0x05,0xc2,0x03]
551 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
553 v_div_fixup_f16 v5
, v1
, v2
, -4.0
554 // VI
: v_div_fixup_f16 v5
, v1
, v2
, -4.0 ; encoding
: [0x05,0x00,0xef,0xd1,0x01,0x05,0xde,0x03]
555 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
557 v_div_fixup_f16 v5
, -v1
, v2
, v3
558 // VI
: v_div_fixup_f16 v5
, -v1
, v2
, v3 ; encoding
: [0x05,0x00,0xef,0xd1,0x01,0x05,0x0e,0x24]
559 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
561 v_div_fixup_f16 v5
, v1
, |v2|
, v3
562 // VI
: v_div_fixup_f16 v5
, v1
, |v2|
, v3 ; encoding
: [0x05,0x02,0xef,0xd1,0x01,0x05,0x0e,0x04]
563 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
565 v_div_fixup_f16 v5
, v1
, v2
, v3 clamp
566 // VI
: v_div_fixup_f16 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xef,0xd1,0x01,0x05,0x0e,0x04]
567 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
569 v_mad_f16_e64 v5
, v1
, v2
, v3
570 // VI
: v_mad_f16 v5
, v1
, v2
, v3 ; encoding
: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x04]
571 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
573 v_mad_f16 v5
, 0.5, v2
, v3
574 // VI
: v_mad_f16 v5
, 0.5, v2
, v3 ; encoding
: [0x05,0x00,0xea,0xd1,0xf0,0x04,0x0e,0x04]
575 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
577 v_mad_f16 v5
, v1
, 0.5, v3
578 // VI
: v_mad_f16 v5
, v1
, 0.5, v3 ; encoding
: [0x05,0x00,0xea,0xd1,0x01,0xe1,0x0d,0x04]
579 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
581 v_mad_f16 v5
, v1
, v2
, 0.5
582 // VI
: v_mad_f16 v5
, v1
, v2
, 0.5 ; encoding
: [0x05,0x00,0xea,0xd1,0x01,0x05,0xc2,0x03]
583 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
585 v_mad_f16 v5
, v1
, -v2
, v3
586 // VI
: v_mad_f16 v5
, v1
, -v2
, v3 ; encoding
: [0x05,0x00,0xea,0xd1,0x01,0x05,0x0e,0x44]
587 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
589 v_mad_f16 v5
, v1
, v2
, |v3|
590 // VI
: v_mad_f16 v5
, v1
, v2
, |v3| ; encoding
: [0x05,0x04,0xea,0xd1,0x01,0x05,0x0e,0x04]
591 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
593 v_mad_f16 v5
, v1
, v2
, v3 clamp
594 // VI
: v_mad_f16 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xea,0xd1,0x01,0x05,0x0e,0x04]
595 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
597 v_mad_i16_e64 v5
, -1, v2
, v3
598 // VI
: v_mad_i16 v5
, -1, v2
, v3 ; encoding
: [0x05,0x00,0xec,0xd1,0xc1,0x04,0x0e,0x04]
599 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
601 v_mad_i16 v5
, v1
, -4.0, v3
602 // NOVI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: literal operands are
not supported
603 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
605 v_mad_i16 v5
, v1
, v2
, 0
606 // VI
: v_mad_i16 v5
, v1
, v2
, 0 ; encoding
: [0x05,0x00,0xec,0xd1,0x01,0x05,0x02,0x02]
607 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
609 v_mad_u16_e64 v5
, -1, v2
, v3
610 // VI
: v_mad_u16 v5
, -1, v2
, v3 ; encoding
: [0x05,0x00,0xeb,0xd1,0xc1,0x04,0x0e,0x04]
611 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
613 v_mad_u16 v5
, v1
, 0, v3
614 // VI
: v_mad_u16 v5
, v1
, 0, v3 ; encoding
: [0x05,0x00,0xeb,0xd1,0x01,0x01,0x0d,0x04]
615 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
617 v_mad_u16 v5
, v1
, v2
, -4.0
618 // NOVI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: literal operands are
not supported
619 // NOSICI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
621 ///===---------------------------------------------------------------------===//
622 // VOP3 with Integer Clamp
623 ///===---------------------------------------------------------------------===//
625 v_mad_i32_i24 v5
, v1
, v2
, v3 clamp
626 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
627 // VI
: v_mad_i32_i24 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xc2,0xd1,0x01,0x05,0x0e,0x04]
629 v_mad_u32_u24 v5
, v1
, v2
, v3 clamp
630 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
631 // VI
: v_mad_u32_u24 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xc3,0xd1,0x01,0x05,0x0e,0x04]
633 v_sad_u8 v5
, v1
, v2
, v3 clamp
634 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
635 // VI
: v_sad_u8 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xd9,0xd1,0x01,0x05,0x0e,0x04]
637 v_sad_hi_u8 v5
, v1
, v2
, v3 clamp
638 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
639 // VI
: v_sad_hi_u8 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xda,0xd1,0x01,0x05,0x0e,0x04]
641 v_sad_u16 v5
, v1
, v2
, v3 clamp
642 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
643 // VI
: v_sad_u16 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xdb,0xd1,0x01,0x05,0x0e,0x04]
645 v_sad_u32 v5
, v1
, v2
, v3 clamp
646 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
647 // VI
: v_sad_u32 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xdc,0xd1,0x01,0x05,0x0e,0x04]
649 v_msad_u8 v5
, v1
, v2
, v3 clamp
650 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
651 // VI
: v_msad_u8 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xe4,0xd1,0x01,0x05,0x0e,0x04]
653 v_mqsad_pk_u16_u8 v
[5:6], v
[1:2], v2
, v
[3:4] clamp
654 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
655 // VI
: v_mqsad_pk_u16_u8 v
[5:6], v
[1:2], v2
, v
[3:4] clamp ; encoding
: [0x05,0x80,0xe6,0xd1,0x01,0x05,0x0e,0x04]
657 v_qsad_pk_u16_u8 v
[5:6], v
[1:2], v2
, v
[3:4] clamp
658 // VI
: v_qsad_pk_u16_u8 v
[5:6], v
[1:2], v2
, v
[3:4] clamp ; encoding
: [0x05,0x80,0xe5,0xd1,0x01,0x05,0x0e,0x04]
659 // NOCI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
660 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
662 v_mqsad_u32_u8 v
[252:255], v
[1:2], v2
, v
[3:6] clamp
663 // VI
: v_mqsad_u32_u8 v
[252:255], v
[1:2], v2
, v
[3:6] clamp ; encoding
: [0xfc,0x80,0xe7,0xd1,0x01,0x05,0x0e,0x04]
664 // NOCI
: :[[@LINE-
2]]:{{[0-9]+}}: error
: integer clamping is
not supported on this GPU
665 // NOSI
: :[[@LINE-
3]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
667 v_mad_u16 v5
, v1
, v2
, v3 clamp
668 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
669 // VI
: v_mad_u16 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xeb,0xd1,0x01,0x05,0x0e,0x04]
671 v_mad_i16 v5
, v1
, v2
, v3 clamp
672 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
673 // VI
: v_mad_i16 v5
, v1
, v2
, v3 clamp ; encoding
: [0x05,0x80,0xec,0xd1,0x01,0x05,0x0e,0x04]
679 v_interp_mov_f32_e64 v5
, p10
, attr0.x
680 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
681 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr0.x ; encoding
: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x00]
683 v_interp_mov_f32_e64 v5
, p10
, attr32.x
684 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
685 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr32.x ; encoding
: [0x05,0x00,0x72,0xd2,0x20,0x00,0x00,0x00]
687 v_interp_mov_f32_e64 v5
, p20
, attr0.x
688 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
689 // VI
: v_interp_mov_f32_e64 v5
, p20
, attr0.x ; encoding
: [0x05,0x00,0x72,0xd2,0x00,0x02,0x00,0x00]
691 v_interp_mov_f32_e64 v5
, p10
, attr0.w
692 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
693 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr0.w ; encoding
: [0x05,0x00,0x72,0xd2,0xc0,0x00,0x00,0x00]
695 v_interp_mov_f32_e64 v5
, p10
, attr0.x clamp
696 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
697 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr0.x clamp ; encoding
: [0x05,0x80,0x72,0xd2,0x00,0x00,0x00,0x00]
699 v_interp_mov_f32 v5
, p10
, attr0.x clamp
700 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
701 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr0.x clamp ; encoding
: [0x05,0x80,0x72,0xd2,0x00,0x00,0x00,0x00]
703 v_interp_mov_f32_e64 v5
, p10
, attr0.x
mul:2
704 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
705 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr0.x
mul:2 ; encoding
: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x08]
707 v_interp_mov_f32_e64 v5
, p10
, attr0.x
mul:4
708 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
709 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr0.x
mul:4 ; encoding
: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x10]
711 v_interp_mov_f32_e64 v5
, p10
, attr0.x
div:2
712 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
713 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr0.x
div:2 ; encoding
: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18]
715 v_interp_mov_f32 v5
, p10
, attr0.x
div:2
716 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: not a valid operand
717 // VI
: v_interp_mov_f32_e64 v5
, p10
, attr0.x
div:2 ; encoding
: [0x05,0x00,0x72,0xd2,0x00,0x00,0x00,0x18]
720 v_interp_p1_f32_e64 v5
, v2
, attr0.x
721 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
722 // VI
: v_interp_p1_f32_e64 v5
, v2
, attr0.x ; encoding
: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x00]
724 v_interp_p1_f32_e64 v5
, v2
, attr0.y
725 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
726 // VI
: v_interp_p1_f32_e64 v5
, v2
, attr0.y ; encoding
: [0x05,0x00,0x70,0xd2,0x40,0x04,0x02,0x00]
728 v_interp_p1_f32_e64 v5
, -v2
, attr0.x
729 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
730 // VI
: v_interp_p1_f32_e64 v5
, -v2
, attr0.x ; encoding
: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x40]
732 v_interp_p1_f32_e64 v5
, |v2|
, attr0.x
733 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
734 // VI
: v_interp_p1_f32_e64 v5
, |v2|
, attr0.x ; encoding
: [0x05,0x02,0x70,0xd2,0x00,0x04,0x02,0x00]
736 v_interp_p1_f32_e64 v5
, v2
, attr0.x clamp
737 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
738 // VI
: v_interp_p1_f32_e64 v5
, v2
, attr0.x clamp ; encoding
: [0x05,0x80,0x70,0xd2,0x00,0x04,0x02,0x00]
740 v_interp_p1_f32 v5
, v2
, attr0.x clamp
741 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
742 // VI
: v_interp_p1_f32_e64 v5
, v2
, attr0.x clamp ; encoding
: [0x05,0x80,0x70,0xd2,0x00,0x04,0x02,0x00]
744 v_interp_p1_f32_e64 v5
, v2
, attr0.x
mul:2
745 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
746 // VI
: v_interp_p1_f32_e64 v5
, v2
, attr0.x
mul:2 ; encoding
: [0x05,0x00,0x70,0xd2,0x00,0x04,0x02,0x08]
749 v_interp_p2_f32_e64 v255
, v2
, attr0.x
750 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
751 // VI
: v_interp_p2_f32_e64 v255
, v2
, attr0.x ; encoding
: [0xff,0x00,0x71,0xd2,0x00,0x04,0x02,0x00]
753 v_interp_p2_f32_e64 v5
, v2
, attr31.x
754 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
755 // VI
: v_interp_p2_f32_e64 v5
, v2
, attr31.x ; encoding
: [0x05,0x00,0x71,0xd2,0x1f,0x04,0x02,0x00]
757 v_interp_p2_f32_e64 v5
, -v2
, attr0.x
758 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
759 // VI
: v_interp_p2_f32_e64 v5
, -v2
, attr0.x ; encoding
: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x40]
761 v_interp_p2_f32_e64 v5
, |v2|
, attr0.x
762 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
763 // VI
: v_interp_p2_f32_e64 v5
, |v2|
, attr0.x ; encoding
: [0x05,0x02,0x71,0xd2,0x00,0x04,0x02,0x00]
765 v_interp_p2_f32_e64 v5
, v2
, attr0.x clamp
766 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
767 // VI
: v_interp_p2_f32_e64 v5
, v2
, attr0.x clamp ; encoding
: [0x05,0x80,0x71,0xd2,0x00,0x04,0x02,0x00]
769 v_interp_p2_f32_e64 v5
, v2
, attr0.x
div:2
770 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e64 variant of this instruction is
not supported
771 // VI
: v_interp_p2_f32_e64 v5
, v2
, attr0.x
div:2 ; encoding
: [0x05,0x00,0x71,0xd2,0x00,0x04,0x02,0x18]
774 v_interp_p1ll_f16 v5
, v2
, attr31.x
775 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
776 // VI
: v_interp_p1ll_f16 v5
, v2
, attr31.x ; encoding
: [0x05,0x00,0x74,0xd2,0x1f,0x04,0x02,0x00]
778 v_interp_p1ll_f16 v5
, v2
, attr0.w
779 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
780 // VI
: v_interp_p1ll_f16 v5
, v2
, attr0.w ; encoding
: [0x05,0x00,0x74,0xd2,0xc0,0x04,0x02,0x00]
782 v_interp_p1ll_f16 v5
, -v2
, attr0.x
783 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
784 // VI
: v_interp_p1ll_f16 v5
, -v2
, attr0.x ; encoding
: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x40]
786 v_interp_p1ll_f16 v5
, |v2|
, attr0.x
787 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
788 // VI
: v_interp_p1ll_f16 v5
, |v2|
, attr0.x ; encoding
: [0x05,0x02,0x74,0xd2,0x00,0x04,0x02,0x00]
790 v_interp_p1ll_f16 v5
, v2
, attr0.x high
791 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
792 // VI
: v_interp_p1ll_f16 v5
, v2
, attr0.x high ; encoding
: [0x05,0x00,0x74,0xd2,0x00,0x05,0x02,0x00]
794 v_interp_p1ll_f16 v5
, v2
, attr0.x clamp
795 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
796 // VI
: v_interp_p1ll_f16 v5
, v2
, attr0.x clamp ; encoding
: [0x05,0x80,0x74,0xd2,0x00,0x04,0x02,0x00]
798 v_interp_p1ll_f16 v5
, v2
, attr0.x
mul:4
799 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
800 // VI
: v_interp_p1ll_f16 v5
, v2
, attr0.x
mul:4 ; encoding
: [0x05,0x00,0x74,0xd2,0x00,0x04,0x02,0x10]
803 v_interp_p1lv_f16 v5
, v2
, attr1.x
, v3
804 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
805 // VI
: v_interp_p1lv_f16 v5
, v2
, attr1.x
, v3 ; encoding
: [0x05,0x00,0x75,0xd2,0x01,0x04,0x0e,0x04]
807 v_interp_p1lv_f16 v5
, v2
, attr0.z
, v3
808 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
809 // VI
: v_interp_p1lv_f16 v5
, v2
, attr0.z
, v3 ; encoding
: [0x05,0x00,0x75,0xd2,0x80,0x04,0x0e,0x04]
811 v_interp_p1lv_f16 v5
, -v2
, attr0.x
, v3
812 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
813 // VI
: v_interp_p1lv_f16 v5
, -v2
, attr0.x
, v3 ; encoding
: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x44]
815 v_interp_p1lv_f16 v5
, v2
, attr0.x
, -v3
816 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
817 // VI
: v_interp_p1lv_f16 v5
, v2
, attr0.x
, -v3 ; encoding
: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x84]
819 v_interp_p1lv_f16 v5
, |v2|
, attr0.x
, v3
820 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
821 // VI
: v_interp_p1lv_f16 v5
, |v2|
, attr0.x
, v3 ; encoding
: [0x05,0x02,0x75,0xd2,0x00,0x04,0x0e,0x04]
823 v_interp_p1lv_f16 v5
, v2
, attr0.x
, |v3|
824 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
825 // VI
: v_interp_p1lv_f16 v5
, v2
, attr0.x
, |v3| ; encoding
: [0x05,0x04,0x75,0xd2,0x00,0x04,0x0e,0x04]
827 v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3 high
828 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
829 // VI
: v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3 high ; encoding
: [0x05,0x00,0x75,0xd2,0x00,0x05,0x0e,0x04]
831 v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3 clamp
832 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
833 // VI
: v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3 clamp ; encoding
: [0x05,0x80,0x75,0xd2,0x00,0x04,0x0e,0x04]
835 v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3
mul:2
836 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
837 // VI
: v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3
mul:2 ; encoding
: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x0c]
839 v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3
div:2
840 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
841 // VI
: v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3
div:2 ; encoding
: [0x05,0x00,0x75,0xd2,0x00,0x04,0x0e,0x1c]
844 v_interp_p2_f16 v5
, v2
, attr1.x
, v3
845 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
846 // VI
: v_interp_p2_f16 v5
, v2
, attr1.x
, v3 ; encoding
: [0x05,0x00,0x76,0xd2,0x01,0x04,0x0e,0x04]
848 v_interp_p2_f16 v5
, v2
, attr32.x
, v3
849 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
850 // VI
: v_interp_p2_f16 v5
, v2
, attr32.x
, v3 ; encoding
: [0x05,0x00,0x76,0xd2,0x20,0x04,0x0e,0x04]
852 v_interp_p2_f16 v5
, v2
, attr0.w
, v3
853 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
854 // VI
: v_interp_p2_f16 v5
, v2
, attr0.w
, v3 ; encoding
: [0x05,0x00,0x76,0xd2,0xc0,0x04,0x0e,0x04]
856 v_interp_p2_f16 v5
, -v2
, attr0.x
, v3
857 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
858 // VI
: v_interp_p2_f16 v5
, -v2
, attr0.x
, v3 ; encoding
: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x44]
860 v_interp_p2_f16 v5
, v2
, attr0.x
, -v3
861 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
862 // VI
: v_interp_p2_f16 v5
, v2
, attr0.x
, -v3 ; encoding
: [0x05,0x00,0x76,0xd2,0x00,0x04,0x0e,0x84]
864 v_interp_p2_f16 v5
, |v2|
, attr0.x
, v3
865 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
866 // VI
: v_interp_p2_f16 v5
, |v2|
, attr0.x
, v3 ; encoding
: [0x05,0x02,0x76,0xd2,0x00,0x04,0x0e,0x04]
868 v_interp_p2_f16 v5
, v2
, attr0.x
, |v3|
869 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
870 // VI
: v_interp_p2_f16 v5
, v2
, attr0.x
, |v3| ; encoding
: [0x05,0x04,0x76,0xd2,0x00,0x04,0x0e,0x04]
872 v_interp_p2_f16 v5
, v2
, attr0.x
, v3 high
873 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
874 // VI
: v_interp_p2_f16 v5
, v2
, attr0.x
, v3 high ; encoding
: [0x05,0x00,0x76,0xd2,0x00,0x05,0x0e,0x04]
876 v_interp_p2_f16 v5
, v2
, attr0.x
, v3 clamp
877 // NOSICI
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
878 // VI
: v_interp_p2_f16 v5
, v2
, attr0.x
, v3 clamp ; encoding
: [0x05,0x80,0x76,0xd2,0x00,0x04,0x0e,0x04]