1 // RUN
: not llvm-mc
-arch
=amdgcn
-show-encoding
%s | FileCheck
--check-prefix
=SICI
%s
2 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=fiji
-show-encoding
%s | FileCheck
--check-prefix
=GFX89
%s
3 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
-show-encoding
%s | FileCheck
--check-prefixes
=GFX89
,GFX9
%s
4 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx1010
-show-encoding
%s | FileCheck
--check-prefix
=GFX10
%s
6 // RUN
: not llvm-mc
-arch
=amdgcn
%s
2>&1 | FileCheck
--check-prefixes
=NOSICI
,NOSICIVI
--implicit-check-
not=error
: %s
7 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=fiji
%s
2>&1 | FileCheck
--check-prefixes
=NOSICIVI
,NOGFX89
--implicit-check-
not=error
: %s
8 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
%s
2>&1 | FileCheck
--check-prefixes
=NOGFX9
,NOGFX89
--implicit-check-
not=error
: %s
9 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx1010
2>&1 %s | FileCheck
--check-prefix
=GFX10-ERR
--implicit-check-
not=error
: %s
12 // SICI
: s_mov_b32 s1
, s2 ; encoding
: [0x02,0x03,0x81,0xbe]
13 // GFX89
: s_mov_b32 s1
, s2 ; encoding
: [0x02,0x00,0x81,0xbe]
14 // GFX10
: s_mov_b32 s1
, s2 ; encoding
: [0x02,0x03,0x81,0xbe]
17 // SICI
: s_mov_b32 s1
, 1 ; encoding
: [0x81,0x03,0x81,0xbe]
18 // GFX89
: s_mov_b32 s1
, 1 ; encoding
: [0x81,0x00,0x81,0xbe]
19 // GFX10
: s_mov_b32 s1
, 1 ; encoding
: [0x81,0x03,0x81,0xbe]
22 // SICI
: s_mov_b32 s1
, 0x64 ; encoding
: [0xff,0x03,0x81,0xbe,0x64,0x00,0x00,0x00]
23 // GFX89
: s_mov_b32 s1
, 0x64 ; encoding
: [0xff,0x00,0x81,0xbe,0x64,0x00,0x00,0x00]
24 // GFX10
: s_mov_b32 s1
, 0x64 ; encoding
: [0xff,0x03,0x81,0xbe,0x64,0x00,0x00,0x00]
26 // Literal constant sign bit
27 s_mov_b32 s1
, 0x80000000
28 // SICI
: s_mov_b32 s1
, 0x80000000 ; encoding
: [0xff,0x03,0x81,0xbe,0x00,0x00,0x00,0x80]
29 // GFX89
: s_mov_b32 s1
, 0x80000000 ; encoding
: [0xff,0x00,0x81,0xbe,0x00,0x00,0x00,0x80]
30 // GFX10
: s_mov_b32 s1
, 0x80000000 ; encoding
: [0xff,0x03,0x81,0xbe,0x00,0x00,0x00,0x80]
32 // Negative
32-bit constant
33 s_mov_b32 s0
, 0xfe5163ab
34 // SICI
: s_mov_b32 s0
, 0xfe5163ab ; encoding
: [0xff,0x03,0x80,0xbe,0xab,0x63,0x51,0xfe]
35 // GFX89
: s_mov_b32 s0
, 0xfe5163ab ; encoding
: [0xff,0x00,0x80,0xbe,0xab,0x63,0x51,0xfe]
36 // GFX10
: s_mov_b32 s0
, 0xfe5163ab ; encoding
: [0xff,0x03,0x80,0xbe,0xab,0x63,0x51,0xfe]
38 s_mov_b64 s
[2:3], s
[4:5]
39 // SICI
: s_mov_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x04,0x82,0xbe]
40 // GFX89
: s_mov_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x01,0x82,0xbe]
41 // GFX10
: s_mov_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x04,0x82,0xbe]
43 s_mov_b64 null
, s
[4:5]
44 // GFX10
: s_mov_b64 null
, s
[4:5] ; encoding
: [0x04,0x04,0xfd,0xbe]
45 // NOSICIVI
: error
: 'null' operand is
not supported on this GPU
46 // NOGFX9
: error
: 'null' operand is
not supported on this GPU
48 s_mov_b64 s
[2:3], 0xffffffffffffffff
49 // SICI
: s_mov_b64 s
[2:3], -1 ; encoding
: [0xc1,0x04,0x82,0xbe]
50 // GFX89
: s_mov_b64 s
[2:3], -1 ; encoding
: [0xc1,0x01,0x82,0xbe]
51 // GFX10
: s_mov_b64 s
[2:3], -1 ; encoding
: [0xc1,0x04,0x82,0xbe]
53 s_mov_b64 s
[2:3], 0xffffffff
54 // SICI
: s_mov_b64 s
[2:3], 0xffffffff ; encoding
: [0xff,0x04,0x82,0xbe,0xff,0xff,0xff,0xff]
55 // GFX89
: s_mov_b64 s
[2:3], 0xffffffff ; encoding
: [0xff,0x01,0x82,0xbe,0xff,0xff,0xff,0xff]
56 // GFX10
: s_mov_b64 s
[2:3], 0xffffffff ; encoding
: [0xff,0x04,0x82,0xbe,0xff,0xff,0xff,0xff]
58 s_mov_b64 s
[0:1], 0x80000000
59 // SICI
: s_mov_b64 s
[0:1], 0x80000000 ; encoding
: [0xff,0x04,0x80,0xbe,0x00,0x00,0x00,0x80]
60 // GFX89
: s_mov_b64 s
[0:1], 0x80000000 ; encoding
: [0xff,0x01,0x80,0xbe,0x00,0x00,0x00,0x80]
61 // GFX10
: s_mov_b64 s
[0:1], 0x80000000 ; encoding
: [0xff,0x04,0x80,0xbe,0x00,0x00,0x00,0x80]
63 s_mov_b64 s
[102:103], -1
64 // SICI
: s_mov_b64 s
[102:103], -1 ; encoding
: [0xc1,0x04,0xe6,0xbe]
65 // NOGFX89
: error
: register
not available on this GPU
66 // GFX10
: s_mov_b64 s
[102:103], -1 ; encoding
: [0xc1,0x04,0xe6,0xbe]
69 // SICI
: s_cmov_b32 s1
, 0xc8 ; encoding
: [0xff,0x05,0x81,0xbe,0xc8,0x00,0x00,0x00]
70 // GFX89
: s_cmov_b32 s1
, 0xc8 ; encoding
: [0xff,0x02,0x81,0xbe,0xc8,0x00,0x00,0x00]
71 // GFX10
: s_cmov_b32 s1
, 0xc8 ; encoding
: [0xff,0x05,0x81,0xbe,0xc8,0x00,0x00,0x00]
74 // SICI
: s_cmov_b32 s1
, 1.0 ; encoding
: [0xf2,0x05,0x81,0xbe]
75 // GFX89
: s_cmov_b32 s1
, 1.0 ; encoding
: [0xf2,0x02,0x81,0xbe]
76 // GFX10
: s_cmov_b32 s1
, 1.0 ; encoding
: [0xf2,0x05,0x81,0xbe]
79 // SICI
: s_cmov_b32 s1
, s2 ; encoding
: [0x02,0x05,0x81,0xbe]
80 // GFX89
: s_cmov_b32 s1
, s2 ; encoding
: [0x02,0x02,0x81,0xbe]
81 // GFX10
: s_cmov_b32 s1
, s2 ; encoding
: [0x02,0x05,0x81,0xbe]
83 //s_cmov_b64 s
[2:3], 1.0
84 //GCN-FIXME
: s_cmov_b64 s
[2:3], 1.0 ; encoding
: [0xf2,0x05,0x82,0xb3]
86 s_cmov_b64 s
[2:3], s
[4:5]
87 // SICI
: s_cmov_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x06,0x82,0xbe]
88 // GFX89
: s_cmov_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x03,0x82,0xbe]
89 // GFX10
: s_cmov_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x06,0x82,0xbe]
92 // SICI
: s_not_b32 s1
, s2 ; encoding
: [0x02,0x07,0x81,0xbe]
93 // GFX89
: s_not_b32 s1
, s2 ; encoding
: [0x02,0x04,0x81,0xbe]
94 // GFX10
: s_not_b32 s1
, s2 ; encoding
: [0x02,0x07,0x81,0xbe]
96 s_not_b64 s
[2:3], s
[4:5]
97 // SICI
: s_not_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x08,0x82,0xbe]
98 // GFX89
: s_not_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x05,0x82,0xbe]
99 // GFX10
: s_not_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x08,0x82,0xbe]
102 // SICI
: s_wqm_b32 s1
, s2 ; encoding
: [0x02,0x09,0x81,0xbe]
103 // GFX89
: s_wqm_b32 s1
, s2 ; encoding
: [0x02,0x06,0x81,0xbe]
104 // GFX10
: s_wqm_b32 s1
, s2 ; encoding
: [0x02,0x09,0x81,0xbe]
106 s_wqm_b64 s
[2:3], s
[4:5]
107 // SICI
: s_wqm_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x0a,0x82,0xbe]
108 // GFX89
: s_wqm_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x07,0x82,0xbe]
109 // GFX10
: s_wqm_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x0a,0x82,0xbe]
112 // SICI
: s_brev_b32 s1
, s2 ; encoding
: [0x02,0x0b,0x81,0xbe]
113 // GFX89
: s_brev_b32 s1
, s2 ; encoding
: [0x02,0x08,0x81,0xbe]
114 // GFX10
: s_brev_b32 s1
, s2 ; encoding
: [0x02,0x0b,0x81,0xbe]
116 s_brev_b64 s
[2:3], s
[4:5]
117 // SICI
: s_brev_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x0c,0x82,0xbe]
118 // GFX89
: s_brev_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x09,0x82,0xbe]
119 // GFX10
: s_brev_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x0c,0x82,0xbe]
121 s_bcnt0_i32_b32 s1
, s2
122 // SICI
: s_bcnt0_i32_b32 s1
, s2 ; encoding
: [0x02,0x0d,0x81,0xbe]
123 // GFX89
: s_bcnt0_i32_b32 s1
, s2 ; encoding
: [0x02,0x0a,0x81,0xbe]
124 // GFX10
: s_bcnt0_i32_b32 s1
, s2 ; encoding
: [0x02,0x0d,0x81,0xbe]
126 s_bcnt0_i32_b64 s1
, s
[2:3]
127 // SICI
: s_bcnt0_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x0e,0x81,0xbe]
128 // GFX89
: s_bcnt0_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x0b,0x81,0xbe]
129 // GFX10
: s_bcnt0_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x0e,0x81,0xbe]
131 s_bcnt1_i32_b32 s1
, s2
132 // SICI
: s_bcnt1_i32_b32 s1
, s2 ; encoding
: [0x02,0x0f,0x81,0xbe]
133 // GFX89
: s_bcnt1_i32_b32 s1
, s2 ; encoding
: [0x02,0x0c,0x81,0xbe]
134 // GFX10
: s_bcnt1_i32_b32 s1
, s2 ; encoding
: [0x02,0x0f,0x81,0xbe]
136 s_bcnt1_i32_b64 s1
, s
[2:3]
137 // SICI
: s_bcnt1_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x10,0x81,0xbe]
138 // GFX89
: s_bcnt1_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x0d,0x81,0xbe]
139 // GFX10
: s_bcnt1_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x10,0x81,0xbe]
142 // SICI
: s_ff0_i32_b32 s1
, s2 ; encoding
: [0x02,0x11,0x81,0xbe]
143 // GFX89
: s_ff0_i32_b32 s1
, s2 ; encoding
: [0x02,0x0e,0x81,0xbe]
144 // GFX10
: s_ff0_i32_b32 s1
, s2 ; encoding
: [0x02,0x11,0x81,0xbe]
146 s_ff0_i32_b64 s1
, s
[2:3]
147 // SICI
: s_ff0_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x12,0x81,0xbe]
148 // GFX89
: s_ff0_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x0f,0x81,0xbe]
149 // GFX10
: s_ff0_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x12,0x81,0xbe]
152 // SICI
: s_ff1_i32_b32 s1
, s2 ; encoding
: [0x02,0x13,0x81,0xbe]
153 // GFX89
: s_ff1_i32_b32 s1
, s2 ; encoding
: [0x02,0x10,0x81,0xbe]
154 // GFX10
: s_ff1_i32_b32 s1
, s2 ; encoding
: [0x02,0x13,0x81,0xbe]
156 s_ff1_i32_b64 s1
, s
[2:3]
157 // SICI
: s_ff1_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x14,0x81,0xbe]
158 // GFX89
: s_ff1_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x11,0x81,0xbe]
159 // GFX10
: s_ff1_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x14,0x81,0xbe]
161 s_flbit_i32_b32 s1
, s2
162 // SICI
: s_flbit_i32_b32 s1
, s2 ; encoding
: [0x02,0x15,0x81,0xbe]
163 // GFX89
: s_flbit_i32_b32 s1
, s2 ; encoding
: [0x02,0x12,0x81,0xbe]
164 // GFX10
: s_flbit_i32_b32 s1
, s2 ; encoding
: [0x02,0x15,0x81,0xbe]
166 s_flbit_i32_b64 s1
, s
[2:3]
167 // SICI
: s_flbit_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x16,0x81,0xbe]
168 // GFX89
: s_flbit_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x13,0x81,0xbe]
169 // GFX10
: s_flbit_i32_b64 s1
, s
[2:3] ; encoding
: [0x02,0x16,0x81,0xbe]
172 // SICI
: s_flbit_i32 s1
, s2 ; encoding
: [0x02,0x17,0x81,0xbe]
173 // GFX89
: s_flbit_i32 s1
, s2 ; encoding
: [0x02,0x14,0x81,0xbe]
174 // GFX10
: s_flbit_i32 s1
, s2 ; encoding
: [0x02,0x17,0x81,0xbe]
176 s_flbit_i32_i64 s1
, s
[2:3]
177 // SICI
: s_flbit_i32_i64 s1
, s
[2:3] ; encoding
: [0x02,0x18,0x81,0xbe]
178 // GFX89
: s_flbit_i32_i64 s1
, s
[2:3] ; encoding
: [0x02,0x15,0x81,0xbe]
179 // GFX10
: s_flbit_i32_i64 s1
, s
[2:3] ; encoding
: [0x02,0x18,0x81,0xbe]
182 // SICI
: s_sext_i32_i8 s1
, s2 ; encoding
: [0x02,0x19,0x81,0xbe]
183 // GFX89
: s_sext_i32_i8 s1
, s2 ; encoding
: [0x02,0x16,0x81,0xbe]
184 // GFX10
: s_sext_i32_i8 s1
, s2 ; encoding
: [0x02,0x19,0x81,0xbe]
186 s_sext_i32_i16 s1
, s2
187 // SICI
: s_sext_i32_i16 s1
, s2 ; encoding
: [0x02,0x1a,0x81,0xbe]
188 // GFX89
: s_sext_i32_i16 s1
, s2 ; encoding
: [0x02,0x17,0x81,0xbe]
189 // GFX10
: s_sext_i32_i16 s1
, s2 ; encoding
: [0x02,0x1a,0x81,0xbe]
192 // SICI
: s_bitset0_b32 s1
, s2 ; encoding
: [0x02,0x1b,0x81,0xbe]
193 // GFX89
: s_bitset0_b32 s1
, s2 ; encoding
: [0x02,0x18,0x81,0xbe]
194 // GFX10
: s_bitset0_b32 s1
, s2 ; encoding
: [0x02,0x1b,0x81,0xbe]
196 s_bitset0_b64 s
[2:3], s4
197 // SICI
: s_bitset0_b64 s
[2:3], s4 ; encoding
: [0x04,0x1c,0x82,0xbe]
198 // GFX89
: s_bitset0_b64 s
[2:3], s4 ; encoding
: [0x04,0x19,0x82,0xbe]
199 // GFX10
: s_bitset0_b64 s
[2:3], s4 ; encoding
: [0x04,0x1c,0x82,0xbe]
202 // SICI
: s_bitset1_b32 s1
, s2 ; encoding
: [0x02,0x1d,0x81,0xbe]
203 // GFX89
: s_bitset1_b32 s1
, s2 ; encoding
: [0x02,0x1a,0x81,0xbe]
204 // GFX10
: s_bitset1_b32 s1
, s2 ; encoding
: [0x02,0x1d,0x81,0xbe]
206 s_bitset1_b64 s
[2:3], s4
207 // SICI
: s_bitset1_b64 s
[2:3], s4 ; encoding
: [0x04,0x1e,0x82,0xbe]
208 // GFX89
: s_bitset1_b64 s
[2:3], s4 ; encoding
: [0x04,0x1b,0x82,0xbe]
209 // GFX10
: s_bitset1_b64 s
[2:3], s4 ; encoding
: [0x04,0x1e,0x82,0xbe]
212 // SICI
: s_getpc_b64 s
[2:3] ; encoding
: [0x00,0x1f,0x82,0xbe]
213 // GFX89
: s_getpc_b64 s
[2:3] ; encoding
: [0x00,0x1c,0x82,0xbe]
214 // GFX10
: s_getpc_b64 s
[2:3] ; encoding
: [0x00,0x1f,0x82,0xbe]
217 // SICI
: s_setpc_b64 s
[4:5] ; encoding
: [0x04,0x20,0x80,0xbe]
218 // GFX89
: s_setpc_b64 s
[4:5] ; encoding
: [0x04,0x1d,0x80,0xbe]
219 // GFX10
: s_setpc_b64 s
[4:5] ; encoding
: [0x04,0x20,0x80,0xbe]
221 s_swappc_b64 s
[2:3], s
[4:5]
222 // SICI
: s_swappc_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x21,0x82,0xbe]
223 // GFX89
: s_swappc_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x1e,0x82,0xbe]
224 // GFX10
: s_swappc_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x21,0x82,0xbe]
227 // SICI
: s_rfe_b64 s
[4:5] ; encoding
: [0x04,0x22,0x80,0xbe]
228 // GFX89
: s_rfe_b64 s
[4:5] ; encoding
: [0x04,0x1f,0x80,0xbe]
229 // GFX10
: s_rfe_b64 s
[4:5] ; encoding
: [0x04,0x22,0x80,0xbe]
231 s_and_saveexec_b64 s
[2:3], s
[4:5]
232 // SICI
: s_and_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x24,0x82,0xbe]
233 // GFX89
: s_and_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x20,0x82,0xbe]
234 // GFX10
: s_and_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x24,0x82,0xbe]
236 s_or_saveexec_b64 s
[2:3], s
[4:5]
237 // SICI
: s_or_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x25,0x82,0xbe]
238 // GFX89
: s_or_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x21,0x82,0xbe]
239 // GFX10
: s_or_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x25,0x82,0xbe]
241 s_xor_saveexec_b64 s
[2:3], s
[4:5]
242 // SICI
: s_xor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x26,0x82,0xbe]
243 // GFX89
: s_xor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x22,0x82,0xbe]
244 // GFX10
: s_xor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x26,0x82,0xbe]
246 s_andn2_saveexec_b64 s
[2:3], s
[4:5]
247 // SICI
: s_andn2_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x27,0x82,0xbe]
248 // GFX89
: s_andn2_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x23,0x82,0xbe]
249 // GFX10
: s_andn2_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x27,0x82,0xbe]
251 s_orn2_saveexec_b64 s
[2:3], s
[4:5]
252 // SICI
: s_orn2_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x28,0x82,0xbe]
253 // GFX89
: s_orn2_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x24,0x82,0xbe]
254 // GFX10
: s_orn2_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x28,0x82,0xbe]
256 s_nand_saveexec_b64 s
[2:3], s
[4:5]
257 // SICI
: s_nand_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x29,0x82,0xbe]
258 // GFX89
: s_nand_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x25,0x82,0xbe]
259 // GFX10
: s_nand_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x29,0x82,0xbe]
261 s_nor_saveexec_b64 s
[2:3], s
[4:5]
262 // SICI
: s_nor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2a,0x82,0xbe]
263 // GFX89
: s_nor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x26,0x82,0xbe]
264 // GFX10
: s_nor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2a,0x82,0xbe]
266 s_xnor_saveexec_b64 s
[2:3], s
[4:5]
267 // SICI
: s_xnor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2b,0x82,0xbe]
268 // GFX89
: s_xnor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x27,0x82,0xbe]
269 // GFX10
: s_xnor_saveexec_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2b,0x82,0xbe]
271 s_quadmask_b32 s1
, s2
272 // SICI
: s_quadmask_b32 s1
, s2 ; encoding
: [0x02,0x2c,0x81,0xbe]
273 // GFX89
: s_quadmask_b32 s1
, s2 ; encoding
: [0x02,0x28,0x81,0xbe]
274 // GFX10
: s_quadmask_b32 s1
, s2 ; encoding
: [0x02,0x2c,0x81,0xbe]
276 s_quadmask_b64 s
[2:3], s
[4:5]
277 // SICI
: s_quadmask_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2d,0x82,0xbe]
278 // GFX89
: s_quadmask_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x29,0x82,0xbe]
279 // GFX10
: s_quadmask_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2d,0x82,0xbe]
282 // SICI
: s_movrels_b32 s1
, s2 ; encoding
: [0x02,0x2e,0x81,0xbe]
283 // GFX89
: s_movrels_b32 s1
, s2 ; encoding
: [0x02,0x2a,0x81,0xbe]
284 // GFX10
: s_movrels_b32 s1
, s2 ; encoding
: [0x02,0x2e,0x81,0xbe]
286 s_movrels_b64 s
[2:3], s
[4:5]
287 // SICI
: s_movrels_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2f,0x82,0xbe]
288 // GFX89
: s_movrels_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2b,0x82,0xbe]
289 // GFX10
: s_movrels_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2f,0x82,0xbe]
292 // SICI
: s_movreld_b32 s1
, s2 ; encoding
: [0x02,0x30,0x81,0xbe]
293 // GFX89
: s_movreld_b32 s1
, s2 ; encoding
: [0x02,0x2c,0x81,0xbe]
294 // GFX10
: s_movreld_b32 s1
, s2 ; encoding
: [0x02,0x30,0x81,0xbe]
296 s_movreld_b64 s
[2:3], s
[4:5]
297 // SICI
: s_movreld_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x31,0x82,0xbe]
298 // GFX89
: s_movreld_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x2d,0x82,0xbe]
299 // GFX10
: s_movreld_b64 s
[2:3], s
[4:5] ; encoding
: [0x04,0x31,0x82,0xbe]
302 // SICI
: s_cbranch_join s4 ; encoding
: [0x04,0x32,0x80,0xbe]
303 // GFX89
: s_cbranch_join s4 ; encoding
: [0x04,0x2e,0x80,0xbe]
304 // GFX10-ERR
: error
: instruction
not supported on this GPU
307 // NOSICI
: error
: invalid operand for instruction
308 // NOGFX89
: error
: invalid operand for instruction
309 // GFX10-ERR
: error
: instruction
not supported on this GPU
312 // NOSICI
: error
: invalid operand for instruction
313 // NOGFX89
: error
: invalid operand for instruction
314 // GFX10-ERR
: error
: instruction
not supported on this GPU
317 // SICI
: s_abs_i32 s1
, s2 ; encoding
: [0x02,0x34,0x81,0xbe]
318 // GFX89
: s_abs_i32 s1
, s2 ; encoding
: [0x02,0x30,0x81,0xbe]
319 // GFX10
: s_abs_i32 s1
, s2 ; encoding
: [0x02,0x34,0x81,0xbe]
322 // GFX89
: s_set_gpr_idx_idx s0 ; encoding
: [0x00,0x32,0x80,0xbe]
323 // NOSICI
: error
: instruction
not supported on this GPU
324 // GFX10-ERR
: error
: instruction
not supported on this GPU
326 s_andn1_saveexec_b64 s
[100:101], s
[2:3]
327 // GFX9
: s_andn1_saveexec_b64 s
[100:101], s
[2:3] ; encoding
: [0x02,0x33,0xe4,0xbe]
328 // NOSICIVI
: error
: instruction
not supported on this GPU
329 // GFX10
: s_andn1_saveexec_b64 s
[100:101], s
[2:3] ; encoding
: [0x02,0x37,0xe4,0xbe]
331 s_andn1_saveexec_b64 s
[10:11], s
[4:5]
332 // GFX9
: s_andn1_saveexec_b64 s
[10:11], s
[4:5] ; encoding
: [0x04,0x33,0x8a,0xbe]
333 // NOSICIVI
: error
: instruction
not supported on this GPU
334 // GFX10
: s_andn1_saveexec_b64 s
[10:11], s
[4:5] ; encoding
: [0x04,0x37,0x8a,0xbe]
336 s_andn1_saveexec_b64 s
[10:11], -1
337 // GFX9
: s_andn1_saveexec_b64 s
[10:11], -1 ; encoding
: [0xc1,0x33,0x8a,0xbe]
338 // NOSICIVI
: error
: instruction
not supported on this GPU
339 // GFX10
: s_andn1_saveexec_b64 s
[10:11], -1 ; encoding
: [0xc1,0x37,0x8a,0xbe]
341 s_andn1_saveexec_b64 s
[10:11], 0xaf123456
342 // GFX9
: s_andn1_saveexec_b64 s
[10:11], 0xaf123456 ; encoding
: [0xff,0x33,0x8a,0xbe,0x56,0x34,0x12,0xaf]
343 // NOSICIVI
: error
: instruction
not supported on this GPU
344 // GFX10
: s_andn1_saveexec_b64 s
[10:11], 0xaf123456 ; encoding
: [0xff,0x37,0x8a,0xbe,0x56,0x34,0x12,0xaf]
346 s_andn1_wrexec_b64 s
[10:11], s
[2:3]
347 // GFX9
: s_andn1_wrexec_b64 s
[10:11], s
[2:3] ; encoding
: [0x02,0x35,0x8a,0xbe]
348 // NOSICIVI
: error
: instruction
not supported on this GPU
349 // GFX10
: s_andn1_wrexec_b64 s
[10:11], s
[2:3] ; encoding
: [0x02,0x39,0x8a,0xbe]
351 s_andn2_wrexec_b64 s
[12:13], s
[2:3]
352 // GFX9
: s_andn2_wrexec_b64 s
[12:13], s
[2:3] ; encoding
: [0x02,0x36,0x8c,0xbe]
353 // NOSICIVI
: error
: instruction
not supported on this GPU
354 // GFX10
: s_andn2_wrexec_b64 s
[12:13], s
[2:3] ; encoding
: [0x02,0x3a,0x8c,0xbe]
356 s_orn1_saveexec_b64 s
[10:11], 0
357 // GFX9
: s_orn1_saveexec_b64 s
[10:11], 0 ; encoding
: [0x80,0x34,0x8a,0xbe]
358 // NOSICIVI
: error
: instruction
not supported on this GPU
359 // GFX10
: s_orn1_saveexec_b64 s
[10:11], 0 ; encoding
: [0x80,0x38,0x8a,0xbe]
361 s_bitreplicate_b64_b32 s
[10:11], s101
362 // GFX9
: s_bitreplicate_b64_b32 s
[10:11], s101 ; encoding
: [0x65,0x37,0x8a,0xbe]
363 // NOSICIVI
: error
: instruction
not supported on this GPU
364 // GFX10
: s_bitreplicate_b64_b32 s
[10:11], s101 ; encoding
: [0x65,0x3b,0x8a,0xbe]
366 s_bitreplicate_b64_b32 s
[10:11], -1
367 // GFX9
: s_bitreplicate_b64_b32 s
[10:11], -1 ; encoding
: [0xc1,0x37,0x8a,0xbe]
368 // NOSICIVI
: error
: instruction
not supported on this GPU
369 // GFX10
: s_bitreplicate_b64_b32 s
[10:11], -1 ; encoding
: [0xc1,0x3b,0x8a,0xbe]
371 s_bitreplicate_b64_b32 s
[10:11], 0x3f717273
372 // GFX9
: s_bitreplicate_b64_b32 s
[10:11], 0x3f717273 ; encoding
: [0xff,0x37,0x8a,0xbe,0x73,0x72,0x71,0x3f]
373 // NOSICIVI
: error
: instruction
not supported on this GPU
374 // GFX10
: s_bitreplicate_b64_b32 s
[10:11], 0x3f717273 ; encoding
: [0xff,0x3b,0x8a,0xbe,0x73,0x72,0x71,0x3f]