1 // RUN
: not llvm-mc
-arch
=amdgcn
-show-encoding
%s | FileCheck
--check-prefix
=GCN
--check-prefix
=SICI
%s
2 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=tahiti
-show-encoding
%s | FileCheck
--check-prefix
=GCN
--check-prefix
=SICI
%s
3 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=fiji
-show-encoding
%s | FileCheck
--check-prefix
=GCN
--check-prefix
=VI9
--check-prefix
=VI
%s
4 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
-show-encoding
%s | FileCheck
--check-prefix
=GCN
--check-prefix
=VI9
--check-prefix
=GFX9
%s
5 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx1010
-show-encoding
%s | FileCheck
--check-prefix
=GCN
--check-prefix
=GFX10
%s
7 // RUN
: not llvm-mc
-arch
=amdgcn
%s
2>&1 | FileCheck
-check-prefix
=NOSICIVI
%s
8 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=tahiti
%s
2>&1 | FileCheck
-check-prefix
=NOSICIVI
-check-prefix
=NOSI
%s
9 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=fiji
%s
2>&1 | FileCheck
-check-prefix
=NOSICIVI
-check-prefix
=NOVI
%s
11 //===----------------------------------------------------------------------===//
13 //===----------------------------------------------------------------------===//
16 // GCN
: s_movk_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb0]
19 // SICI
: s_cmovk_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb1]
20 // VI9
: s_cmovk_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb0]
23 // SICI
: s_cmpk_eq_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb1]
24 // VI9
: s_cmpk_eq_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb1]
27 // SICI
: s_cmpk_lg_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb2]
28 // VI9
: s_cmpk_lg_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb1]
31 // SICI
: s_cmpk_gt_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb2]
32 // VI9
: s_cmpk_gt_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb2]
35 // SICI
: s_cmpk_ge_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb3]
36 // VI9
: s_cmpk_ge_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb2]
39 // SICI
: s_cmpk_lt_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb3]
40 // VI9
: s_cmpk_lt_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb3]
43 // SICI
: s_cmpk_le_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb4]
44 // VI9
: s_cmpk_le_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb3]
47 // SICI
: s_cmpk_eq_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb4]
48 // VI9
: s_cmpk_eq_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb4]
51 // SICI
: s_cmpk_lg_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb5]
52 // VI9
: s_cmpk_lg_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb4]
55 // SICI
: s_cmpk_gt_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb5]
56 // VI9
: s_cmpk_gt_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb5]
59 // SICI
: s_cmpk_ge_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb6]
60 // VI9
: s_cmpk_ge_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb5]
63 // SICI
: s_cmpk_lt_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb6]
64 // VI9
: s_cmpk_lt_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb6]
67 // SICI
: s_cmpk_le_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb7]
68 // VI9
: s_cmpk_le_u32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb6]
70 s_cmpk_le_u32 s2
, 0xFFFF
71 // SICI
: s_cmpk_le_u32 s2
, 0xffff ; encoding
: [0xff,0xff,0x02,0xb7]
72 // VI9
: s_cmpk_le_u32 s2
, 0xffff ; encoding
: [0xff,0xff,0x82,0xb6]
75 // SICI
: s_addk_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb7]
76 // VI9
: s_addk_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb7]
79 // SICI
: s_mulk_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x02,0xb8]
80 // VI9
: s_mulk_i32 s2
, 0x6 ; encoding
: [0x06,0x00,0x82,0xb7]
83 // SICI
: s_mulk_i32 s2
, 0xffff ; encoding
: [0xff,0xff,0x02,0xb8]
84 // VI9
: s_mulk_i32 s2
, 0xffff ; encoding
: [0xff,0xff,0x82,0xb7]
87 // SICI
: s_mulk_i32 s2
, 0xffff ; encoding
: [0xff,0xff,0x02,0xb8]
88 // VI9
: s_mulk_i32 s2
, 0xffff ; encoding
: [0xff,0xff,0x82,0xb7]
90 s_cbranch_i_fork s
[2:3], 0x6
91 // SICI
: s_cbranch_i_fork s
[2:3], 6 ; encoding
: [0x06,0x00,0x82,0xb8]
92 // VI9
: s_cbranch_i_fork s
[2:3], 6 ; encoding
: [0x06,0x00,0x02,0xb8]
94 //===----------------------------------------------------------------------===//
95 // getreg
/setreg
and hwreg macro
96 //===----------------------------------------------------------------------===//
98 // raw number mapped to known HW register
100 // SICI
: s_getreg_b32 s2
, hwreg
(HW_REG_LDS_ALLOC
, 0, 1) ; encoding
: [0x06,0x00,0x02,0xb9]
101 // VI9
: s_getreg_b32 s2
, hwreg
(HW_REG_LDS_ALLOC
, 0, 1) ; encoding
: [0x06,0x00,0x82,0xb8]
103 // HW register identifier
, non-default offset
/width
104 s_getreg_b32 s2
, hwreg
(HW_REG_GPR_ALLOC
, 1, 31)
105 // SICI
: s_getreg_b32 s2
, hwreg
(HW_REG_GPR_ALLOC
, 1, 31) ; encoding
: [0x45,0xf0,0x02,0xb9]
106 // VI9
: s_getreg_b32 s2
, hwreg
(HW_REG_GPR_ALLOC
, 1, 31) ; encoding
: [0x45,0xf0,0x82,0xb8]
108 // HW register code of unknown HW register
, non-default offset
/width
109 s_getreg_b32 s2
, hwreg
(51, 1, 31)
110 // SICI
: s_getreg_b32 s2
, hwreg
(51, 1, 31) ; encoding
: [0x73,0xf0,0x02,0xb9]
111 // VI9
: s_getreg_b32 s2
, hwreg
(51, 1, 31) ; encoding
: [0x73,0xf0,0x82,0xb8]
113 // HW register code of unknown HW register
, default offset
/width
114 s_getreg_b32 s2
, hwreg
(51)
115 // SICI
: s_getreg_b32 s2
, hwreg
(51) ; encoding
: [0x33,0xf8,0x02,0xb9]
116 // VI9
: s_getreg_b32 s2
, hwreg
(51) ; encoding
: [0x33,0xf8,0x82,0xb8]
118 // HW register code of unknown HW register
, valid symbolic name range but no name available
119 s_getreg_b32 s2
, hwreg
(10)
120 // SICI
: s_getreg_b32 s2
, hwreg
(10) ; encoding
: [0x0a,0xf8,0x02,0xb9]
121 // VI9
: s_getreg_b32 s2
, hwreg
(10) ; encoding
: [0x0a,0xf8,0x82,0xb8]
123 // HW_REG_SH_MEM_BASES valid starting from GFX9
124 s_getreg_b32 s2
, hwreg
(15)
125 // SICI
: s_getreg_b32 s2
, hwreg
(15) ; encoding
: [0x0f,0xf8,0x02,0xb9]
126 // VI
: s_getreg_b32 s2
, hwreg
(15) ; encoding
: [0x0f,0xf8,0x82,0xb8]
127 // GFX9
: s_getreg_b32 s2
, hwreg
(HW_REG_SH_MEM_BASES
) ; encoding
: [0x0f,0xf8,0x82,0xb8]
128 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_SH_MEM_BASES
) ; encoding
: [0x0f,0xf8,0x02,0xb9]
131 s_getreg_b32 s2
, hwreg
(16)
132 // SICI
: s_getreg_b32 s2
, hwreg
(16) ; encoding
: [0x10,0xf8,0x02,0xb9]
133 // VI9
: s_getreg_b32 s2
, hwreg
(16) ; encoding
: [0x10,0xf8,0x82,0xb8]
134 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_TBA_LO
) ; encoding
: [0x10,0xf8,0x02,0xb9]
136 s_getreg_b32 s2
, hwreg
(17)
137 // SICI
: s_getreg_b32 s2
, hwreg
(17) ; encoding
: [0x11,0xf8,0x02,0xb9]
138 // VI9
: s_getreg_b32 s2
, hwreg
(17) ; encoding
: [0x11,0xf8,0x82,0xb8]
139 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_TBA_HI
) ; encoding
: [0x11,0xf8,0x02,0xb9]
141 s_getreg_b32 s2
, hwreg
(18)
142 // SICI
: s_getreg_b32 s2
, hwreg
(18) ; encoding
: [0x12,0xf8,0x02,0xb9]
143 // VI9
: s_getreg_b32 s2
, hwreg
(18) ; encoding
: [0x12,0xf8,0x82,0xb8]
144 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_TMA_LO
) ; encoding
: [0x12,0xf8,0x02,0xb9]
146 s_getreg_b32 s2
, hwreg
(19)
147 // SICI
: s_getreg_b32 s2
, hwreg
(19) ; encoding
: [0x13,0xf8,0x02,0xb9]
148 // VI9
: s_getreg_b32 s2
, hwreg
(19) ; encoding
: [0x13,0xf8,0x82,0xb8]
149 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_TMA_HI
) ; encoding
: [0x13,0xf8,0x02,0xb9]
151 s_getreg_b32 s2
, hwreg
(20)
152 // SICI
: s_getreg_b32 s2
, hwreg
(20) ; encoding
: [0x14,0xf8,0x02,0xb9]
153 // VI9
: s_getreg_b32 s2
, hwreg
(20) ; encoding
: [0x14,0xf8,0x82,0xb8]
154 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_FLAT_SCR_LO
) ; encoding
: [0x14,0xf8,0x02,0xb9]
156 s_getreg_b32 s2
, hwreg
(21)
157 // SICI
: s_getreg_b32 s2
, hwreg
(21) ; encoding
: [0x15,0xf8,0x02,0xb9]
158 // VI9
: s_getreg_b32 s2
, hwreg
(21) ; encoding
: [0x15,0xf8,0x82,0xb8]
159 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_FLAT_SCR_HI
) ; encoding
: [0x15,0xf8,0x02,0xb9]
161 s_getreg_b32 s2
, hwreg
(22)
162 // SICI
: s_getreg_b32 s2
, hwreg
(22) ; encoding
: [0x16,0xf8,0x02,0xb9]
163 // VI9
: s_getreg_b32 s2
, hwreg
(22) ; encoding
: [0x16,0xf8,0x82,0xb8]
164 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_XNACK_MASK
) ; encoding
: [0x16,0xf8,0x02,0xb9]
166 s_getreg_b32 s2
, hwreg
(23)
167 // SICI
: s_getreg_b32 s2
, hwreg
(23) ; encoding
: [0x17,0xf8,0x02,0xb9]
168 // VI9
: s_getreg_b32 s2
, hwreg
(23) ; encoding
: [0x17,0xf8,0x82,0xb8]
169 // GFX10
: s_getreg_b32 s2
, hwreg
(23) ; encoding
: [0x17,0xf8,0x02,0xb9]
171 s_getreg_b32 s2
, hwreg
(24)
172 // SICI
: s_getreg_b32 s2
, hwreg
(24) ; encoding
: [0x18,0xf8,0x02,0xb9]
173 // VI9
: s_getreg_b32 s2
, hwreg
(24) ; encoding
: [0x18,0xf8,0x82,0xb8]
174 // GFX10
: s_getreg_b32 s2
, hwreg
(24) ; encoding
: [0x18,0xf8,0x02,0xb9]
176 s_getreg_b32 s2
, hwreg
(25)
177 // SICI
: s_getreg_b32 s2
, hwreg
(25) ; encoding
: [0x19,0xf8,0x02,0xb9]
178 // VI9
: s_getreg_b32 s2
, hwreg
(25) ; encoding
: [0x19,0xf8,0x82,0xb8]
179 // GFX10
: s_getreg_b32 s2
, hwreg
(HW_REG_POPS_PACKER
) ; encoding
: [0x19,0xf8,0x02,0xb9]
181 // raw number mapped to known HW register
183 // SICI
: s_setreg_b32 hwreg
(HW_REG_LDS_ALLOC
, 0, 1), s2 ; encoding
: [0x06,0x00,0x82,0xb9]
184 // VI9
: s_setreg_b32 hwreg
(HW_REG_LDS_ALLOC
, 0, 1), s2 ; encoding
: [0x06,0x00,0x02,0xb9]
186 // raw number mapped to unknown HW register
187 s_setreg_b32
0x33, s2
188 // SICI
: s_setreg_b32 hwreg
(51, 0, 1), s2 ; encoding
: [0x33,0x00,0x82,0xb9]
189 // VI9
: s_setreg_b32 hwreg
(51, 0, 1), s2 ; encoding
: [0x33,0x00,0x02,0xb9]
191 // raw number mapped to known HW register
, default offset
/width
192 s_setreg_b32
0xf803, s2
193 // SICI
: s_setreg_b32 hwreg
(HW_REG_TRAPSTS
), s2 ; encoding
: [0x03,0xf8,0x82,0xb9]
194 // VI9
: s_setreg_b32 hwreg
(HW_REG_TRAPSTS
), s2 ; encoding
: [0x03,0xf8,0x02,0xb9]
196 // HW register identifier
, default offset
/width implied
197 s_setreg_b32 hwreg
(HW_REG_HW_ID
), s2
198 // SICI
: s_setreg_b32 hwreg
(HW_REG_HW_ID
), s2 ; encoding
: [0x04,0xf8,0x82,0xb9]
199 // VI9
: s_setreg_b32 hwreg
(HW_REG_HW_ID
), s2 ; encoding
: [0x04,0xf8,0x02,0xb9]
201 // HW register identifier
, non-default offset
/width
202 s_setreg_b32 hwreg
(HW_REG_GPR_ALLOC
, 1, 31), s2
203 // SICI
: s_setreg_b32 hwreg
(HW_REG_GPR_ALLOC
, 1, 31), s2 ; encoding
: [0x45,0xf0,0x82,0xb9]
204 // VI9
: s_setreg_b32 hwreg
(HW_REG_GPR_ALLOC
, 1, 31), s2 ; encoding
: [0x45,0xf0,0x02,0xb9]
206 // HW register code of unknown HW register
, valid symbolic name range but no name available
207 s_setreg_b32 hwreg
(10), s2
208 // SICI
: s_setreg_b32 hwreg
(10), s2 ; encoding
: [0x0a,0xf8,0x82,0xb9]
209 // VI9
: s_setreg_b32 hwreg
(10), s2 ; encoding
: [0x0a,0xf8,0x02,0xb9]
211 // HW_REG_SH_MEM_BASES valid starting from GFX9
212 s_setreg_b32 hwreg
(15), s2
213 // SICI
: s_setreg_b32 hwreg
(15), s2 ; encoding
: [0x0f,0xf8,0x82,0xb9]
214 // VI
: s_setreg_b32 hwreg
(15), s2 ; encoding
: [0x0f,0xf8,0x02,0xb9]
215 // GFX9
: s_setreg_b32 hwreg
(HW_REG_SH_MEM_BASES
), s2 ; encoding
: [0x0f,0xf8,0x02,0xb9]
216 // GFX10
: s_setreg_b32 hwreg
(HW_REG_SH_MEM_BASES
), s2 ; encoding
: [0x0f,0xf8,0x82,0xb9]
219 s_setreg_b32 hwreg
(16), s2
220 // SICI
: s_setreg_b32 hwreg
(16), s2 ; encoding
: [0x10,0xf8,0x82,0xb9]
221 // VI9
: s_setreg_b32 hwreg
(16), s2 ; encoding
: [0x10,0xf8,0x02,0xb9]
222 // GFX10
: s_setreg_b32 hwreg
(HW_REG_TBA_LO
), s2 ; encoding
: [0x10,0xf8,0x82,0xb9]
224 s_setreg_b32 hwreg
(17), s2
225 // SICI
: s_setreg_b32 hwreg
(17), s2 ; encoding
: [0x11,0xf8,0x82,0xb9]
226 // VI9
: s_setreg_b32 hwreg
(17), s2 ; encoding
: [0x11,0xf8,0x02,0xb9]
227 // GFX10
: s_setreg_b32 hwreg
(HW_REG_TBA_HI
), s2 ; encoding
: [0x11,0xf8,0x82,0xb9]
229 s_setreg_b32 hwreg
(18), s2
230 // SICI
: s_setreg_b32 hwreg
(18), s2 ; encoding
: [0x12,0xf8,0x82,0xb9]
231 // VI9
: s_setreg_b32 hwreg
(18), s2 ; encoding
: [0x12,0xf8,0x02,0xb9]
232 // GFX10
: s_setreg_b32 hwreg
(HW_REG_TMA_LO
), s2 ; encoding
: [0x12,0xf8,0x82,0xb9]
234 s_setreg_b32 hwreg
(19), s2
235 // SICI
: s_setreg_b32 hwreg
(19), s2 ; encoding
: [0x13,0xf8,0x82,0xb9]
236 // VI9
: s_setreg_b32 hwreg
(19), s2 ; encoding
: [0x13,0xf8,0x02,0xb9]
237 // GFX10
: s_setreg_b32 hwreg
(HW_REG_TMA_HI
), s2 ; encoding
: [0x13,0xf8,0x82,0xb9]
239 s_setreg_b32 hwreg
(20), s2
240 // SICI
: s_setreg_b32 hwreg
(20), s2 ; encoding
: [0x14,0xf8,0x82,0xb9]
241 // VI9
: s_setreg_b32 hwreg
(20), s2 ; encoding
: [0x14,0xf8,0x02,0xb9]
242 // GFX10
: s_setreg_b32 hwreg
(HW_REG_FLAT_SCR_LO
), s2 ; encoding
: [0x14,0xf8,0x82,0xb9]
244 s_setreg_b32 hwreg
(21), s2
245 // SICI
: s_setreg_b32 hwreg
(21), s2 ; encoding
: [0x15,0xf8,0x82,0xb9]
246 // VI9
: s_setreg_b32 hwreg
(21), s2 ; encoding
: [0x15,0xf8,0x02,0xb9]
247 // GFX10
: s_setreg_b32 hwreg
(HW_REG_FLAT_SCR_HI
), s2 ; encoding
: [0x15,0xf8,0x82,0xb9]
249 s_setreg_b32 hwreg
(22), s2
250 // SICI
: s_setreg_b32 hwreg
(22), s2 ; encoding
: [0x16,0xf8,0x82,0xb9]
251 // VI9
: s_setreg_b32 hwreg
(22), s2 ; encoding
: [0x16,0xf8,0x02,0xb9]
252 // GFX10
: s_setreg_b32 hwreg
(HW_REG_XNACK_MASK
), s2 ; encoding
: [0x16,0xf8,0x82,0xb9]
254 s_setreg_b32 hwreg
(23), s2
255 // SICI
: s_setreg_b32 hwreg
(23), s2 ; encoding
: [0x17,0xf8,0x82,0xb9]
256 // VI9
: s_setreg_b32 hwreg
(23), s2 ; encoding
: [0x17,0xf8,0x02,0xb9]
257 // GFX10
: s_setreg_b32 hwreg
(23), s2 ; encoding
: [0x17,0xf8,0x82,0xb9]
259 s_setreg_b32 hwreg
(24), s2
260 // SICI
: s_setreg_b32 hwreg
(24), s2 ; encoding
: [0x18,0xf8,0x82,0xb9]
261 // VI9
: s_setreg_b32 hwreg
(24), s2 ; encoding
: [0x18,0xf8,0x02,0xb9]
262 // GFX10
: s_setreg_b32 hwreg
(24), s2 ; encoding
: [0x18,0xf8,0x82,0xb9]
264 s_setreg_b32 hwreg
(25), s2
265 // SICI
: s_setreg_b32 hwreg
(25), s2 ; encoding
: [0x19,0xf8,0x82,0xb9]
266 // VI9
: s_setreg_b32 hwreg
(25), s2 ; encoding
: [0x19,0xf8,0x02,0xb9]
267 // GFX10
: s_setreg_b32 hwreg
(HW_REG_POPS_PACKER
), s2 ; encoding
: [0x19,0xf8,0x82,0xb9]
269 // HW register code
, non-default offset
/width
270 s_setreg_b32 hwreg
(5, 1, 31), s2
271 // SICI
: s_setreg_b32 hwreg
(HW_REG_GPR_ALLOC
, 1, 31), s2 ; encoding
: [0x45,0xf0,0x82,0xb9]
272 // VI9
: s_setreg_b32 hwreg
(HW_REG_GPR_ALLOC
, 1, 31), s2 ; encoding
: [0x45,0xf0,0x02,0xb9]
274 // raw number mapped to known HW register
275 s_setreg_imm32_b32
0x6, 0xff
276 // SICI
: s_setreg_imm32_b32 hwreg
(HW_REG_LDS_ALLOC
, 0, 1), 0xff ; encoding
: [0x06,0x00,0x80,0xba,0xff,0x00,0x00,0x00]
277 // VI9
: s_setreg_imm32_b32 hwreg
(HW_REG_LDS_ALLOC
, 0, 1), 0xff ; encoding
: [0x06,0x00,0x00,0xba,0xff,0x00,0x00,0x00]
279 // HW register identifier
, non-default offset
/width
280 s_setreg_imm32_b32 hwreg
(HW_REG_GPR_ALLOC
, 1, 31), 0xff
281 // SICI
: s_setreg_imm32_b32 hwreg
(HW_REG_GPR_ALLOC
, 1, 31), 0xff ; encoding
: [0x45,0xf0,0x80,0xba,0xff,0x00,0x00,0x00]
282 // VI9
: s_setreg_imm32_b32 hwreg
(HW_REG_GPR_ALLOC
, 1, 31), 0xff ; encoding
: [0x45,0xf0,0x00,0xba,0xff,0x00,0x00,0x00]
284 //===----------------------------------------------------------------------===//
285 // expressions
and hwreg macro
286 //===----------------------------------------------------------------------===//
289 s_getreg_b32 s2
, hwreg
290 // SICI
: s_getreg_b32 s2
, hwreg
(HW_REG_LDS_ALLOC
, 0, 1) ; encoding
: [0x06,0x00,0x02,0xb9]
291 // VI9
: s_getreg_b32 s2
, hwreg
(HW_REG_LDS_ALLOC
, 0, 1) ; encoding
: [0x06,0x00,0x82,0xb8]
295 // SICI
: s_getreg_b32 s2
, hwreg
(HW_REG_LDS_ALLOC
, 0, 1) ; encoding
: [0x06,0x00,0x02,0xb9]
296 // VI9
: s_getreg_b32 s2
, hwreg
(HW_REG_LDS_ALLOC
, 0, 1) ; encoding
: [0x06,0x00,0x82,0xb8]
300 // SICI
: s_getreg_b32 s2
, hwreg
(HW_REG_LDS_ALLOC
, 0, 1) ; encoding
: [0x06,0x00,0x02,0xb9]
301 // VI9
: s_getreg_b32 s2
, hwreg
(HW_REG_LDS_ALLOC
, 0, 1) ; encoding
: [0x06,0x00,0x82,0xb8]
306 s_getreg_b32 s2
, hwreg
(reg
+ 1, offset
- 1, width
+ 1)
307 // SICI
: s_getreg_b32 s2
, hwreg
(51, 1, 31) ; encoding
: [0x73,0xf0,0x02,0xb9]
308 // VI9
: s_getreg_b32 s2
, hwreg
(51, 1, 31) ; encoding
: [0x73,0xf0,0x82,0xb8]
310 s_getreg_b32 s2
, hwreg
(1 + reg
, -1 + offset
, 1 + width
)
311 // SICI
: s_getreg_b32 s2
, hwreg
(51, 1, 31) ; encoding
: [0x73,0xf0,0x02,0xb9]
312 // VI9
: s_getreg_b32 s2
, hwreg
(51, 1, 31) ; encoding
: [0x73,0xf0,0x82,0xb8]
314 //===----------------------------------------------------------------------===//
316 //===----------------------------------------------------------------------===//
318 s_endpgm_ordered_ps_done
319 // GFX9
: s_endpgm_ordered_ps_done ; encoding
: [0x00,0x00,0x9e,0xbf]
320 // NOSICIVI
: error
: instruction
not supported on this GPU
322 s_call_b64 s
[12:13], 12609
323 // GFX9
: s_call_b64 s
[12:13], 12609 ; encoding
: [0x41,0x31,0x8c,0xba]
324 // NOSICIVI
: error
: instruction
not supported on this GPU
326 s_call_b64 s
[100:101], 12609
327 // GFX9
: s_call_b64 s
[100:101], 12609 ; encoding
: [0x41,0x31,0xe4,0xba]
328 // NOSICIVI
: error
: instruction
not supported on this GPU
330 s_call_b64 s
[10:11], 49617
331 // GFX9
: s_call_b64 s
[10:11], 49617 ; encoding
: [0xd1,0xc1,0x8a,0xba]
332 // NOSICIVI
: error
: instruction
not supported on this GPU
335 s_call_b64 s
[0:1], offset
+ 4
336 // GFX9
: s_call_b64 s
[0:1], 8 ; encoding
: [0x08,0x00,0x80,0xba]
337 // NOSICIVI
: error
: instruction
not supported on this GPU
340 s_call_b64 s
[0:1], 4 + offset
341 // GFX9
: s_call_b64 s
[0:1], 8 ; encoding
: [0x08,0x00,0x80,0xba]
342 // NOSICIVI
: error
: instruction
not supported on this GPU