1 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=tahiti
-show-encoding
%s | FileCheck
-check-prefix
=GCN
-check-prefix
=SICI
%s
2 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=kaveri
-show-encoding
%s | FileCheck
-check-prefix
=GCN
-check-prefix
=SICI
%s
3 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=tonga
-show-encoding
%s | FileCheck
-check-prefix
=GCN
-check-prefix
=VI
-check-prefix
=GFX89
%s
4 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
-show-encoding
%s | FileCheck
-check-prefix
=GCN
-check-prefix
=GFX89
-check-prefix
=GFX9
%s
5 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx1012
-show-encoding
%s | FileCheck
-check-prefix
=GCN
-check-prefix
=GFX10
-check-prefix
=GFX1012
%s
6 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=tahiti
%s
2>&1 | FileCheck
-check-prefix
=NOSICI
-check-prefix
=NOSICIVI
-check-prefix
=NOSICIGFX10
-check-prefix
=NOSICIVIGFX10
%s
7 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=bonaire
%s
2>&1 | FileCheck
-check-prefix
=NOSICI
-check-prefix
=NOSICIVI
-check-prefix
=NOSICIGFX10
-check-prefix
=NOSICIVIGFX10
%s
8 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=kaveri
%s
2>&1 | FileCheck
-check-prefix
=NOSICI
-check-prefix
=NOSICIVI
-check-prefix
=NOSICIGFX10
-check-prefix
=NOSICIVIGFX10
%s
9 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=tonga
%s
2>&1 | FileCheck
-check-prefix
=NOSICIVI
-check-prefix
=NOVI
-check-prefix
=NOSICIVIGFX10
%s
10 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
%s
2>&1 | FileCheck
-check-prefix
=NOGFX9
%s
11 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx1012
%s
2>&1 | FileCheck
-check-prefix
=NOSICIGFX10
-check-prefix
=NOGFX9
%s
14 // GFX89
: s_dcache_wb ; encoding
: [0x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00]
15 // GFX1012
: s_dcache_wb ; encoding
: [0x00,0x00,0x84,0xf4,0x00,0x00,0x00,0x00]
16 // NOSICI
: error
: instruction
not supported on this GPU
19 // GFX89
: s_dcache_wb_vol ; encoding
: [0x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00]
20 // NOSICIGFX10
: error
: instruction
not supported on this GPU
22 s_atc_probe
0x7, s
[4:5], s0
23 // GFX89
: s_atc_probe
7, s
[4:5], s0 ; encoding
: [0xc2,0x01,0x98,0xc0,0x00,0x00,0x00,0x00]
24 // GFX10
: s_atc_probe
7, s
[4:5], s0 ; encoding
: [0xc2,0x01,0x98,0xf4,0x00,0x00,0x00,0x00]
25 // NOSICI
: error
: instruction
not supported on this GPU
27 s_atc_probe
0x0, s
[4:5], 0x0
28 // GFX89
: s_atc_probe
0, s
[4:5], 0x0 ; encoding
: [0x02,0x00,0x9a,0xc0,0x00,0x00,0x00,0x00]
29 // GFX10
: s_atc_probe
0, s
[4:5], 0x0 ; encoding
: [0x02,0x00,0x98,0xf4,0x00,0x00,0x00,0xfa]
30 // NOSICI
: error
: instruction
not supported on this GPU
32 s_atc_probe_buffer
0x1, s
[8:11], s0
33 // GFX89
: s_atc_probe_buffer
1, s
[8:11], s0 ; encoding
: [0x44,0x00,0x9c,0xc0,0x00,0x00,0x00,0x00]
34 // GFX10
: s_atc_probe_buffer
1, s
[8:11], s0 ; encoding
: [0x44,0x00,0x9c,0xf4,0x00,0x00,0x00,0x00]
35 // NOSICI
: error
: instruction
not supported on this GPU
37 s_atc_probe_buffer
0x0, s
[8:11], s101
38 // GFX89
: s_atc_probe_buffer
0, s
[8:11], s101 ; encoding
: [0x04,0x00,0x9c,0xc0,0x65,0x00,0x00,0x00]
39 // GFX10
: s_atc_probe_buffer
0, s
[8:11], s101 ; encoding
: [0x04,0x00,0x9c,0xf4,0x00,0x00,0x00,0xca]
40 // NOSICI
: error
: instruction
not supported on this GPU
43 // GFX89
: s_memrealtime s
[4:5] ; encoding
: [0x00,0x01,0x94,0xc0,0x00,0x00,0x00,0x00]
44 // GFX10
: s_memrealtime s
[4:5] ; encoding
: [0x00,0x01,0x94,0xf4,0x00,0x00,0x00,0x00]
45 // NOSICI
: error
: instruction
not supported on this GPU
48 // VI
: s_memrealtime tba ; encoding
: [0x00,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00]
49 // NOSICI
: error
: instruction
not supported on this GPU
50 // NOGFX9
: error
: not a valid operand.
53 // VI
: s_memrealtime tma ; encoding
: [0x80,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00]
54 // NOSICI
: error
: instruction
not supported on this GPU
55 // NOGFX9
: error
: not a valid operand.
57 s_memrealtime ttmp
[0:1]
58 // VI
: s_memrealtime ttmp
[0:1] ; encoding
: [0x00,0x1c,0x94,0xc0,0x00,0x00,0x00,0x00]
59 // GFX9
: s_memrealtime ttmp
[0:1] ; encoding
: [0x00,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00]
60 // GFX10
: s_memrealtime ttmp
[0:1] ; encoding
: [0x00,0x1b,0x94,0xf4,0x00,0x00,0x00,0x00]
61 // NOSICI
: error
: instruction
not supported on this GPU
63 // FIXME
: Should error about instruction on GPU
64 s_store_dword s1
, s
[2:3], 0xfc
65 // GFX89
: s_store_dword s1
, s
[2:3], 0xfc ; encoding
: [0x41,0x00,0x42,0xc0,0xfc,0x00,0x00,0x00]
66 // GFX1012
: s_store_dword s1
, s
[2:3], 0xfc ; encoding
: [0x41,0x00,0x40,0xf4,0xfc,0x00,0x00,0xfa]
67 // NOSICI
: error
: instruction
not supported on this GPU
69 s_store_dword s1
, s
[2:3], 0xfc glc
70 // GFX89
: s_store_dword s1
, s
[2:3], 0xfc glc ; encoding
: [0x41,0x00,0x43,0xc0,0xfc,0x00,0x00,0x00]
71 // GFX1012
: s_store_dword s1
, s
[2:3], 0xfc glc ; encoding
: [0x41,0x00,0x41,0xf4,0xfc,0x00,0x00,0xfa]
72 // NOSICI
: error
: invalid operand for instruction
74 s_store_dword s1
, s
[2:3], s4
75 // GFX89
: s_store_dword s1
, s
[2:3], s4 ; encoding
: [0x41,0x00,0x40,0xc0,0x04,0x00,0x00,0x00]
76 // GFX1012
: s_store_dword s1
, s
[2:3], s4 ; encoding
: [0x41,0x00,0x40,0xf4,0x00,0x00,0x00,0x08]
77 // NOSICI
: error
: instruction
not supported on this GPU
79 s_store_dword s1
, s
[2:3], s4 glc
80 // GFX89
: s_store_dword s1
, s
[2:3], s4 glc ; encoding
: [0x41,0x00,0x41,0xc0,0x04,0x00,0x00,0x00]
81 // GFX1012
: s_store_dword s1
, s
[2:3], s4 glc ; encoding
: [0x41,0x00,0x41,0xf4,0x00,0x00,0x00,0x08]
82 // NOSICI
: error
: invalid operand for instruction
84 s_store_dword tba_lo
, s
[2:3], s4
85 // VI
: s_store_dword tba_lo
, s
[2:3], s4 ; encoding
: [0x01,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
86 // NOSICI
: error
: instruction
not supported on this GPU
87 // NOGFX9
: error
: not a valid operand.
89 s_store_dword tba_hi
, s
[2:3], s4
90 // VI
: s_store_dword tba_hi
, s
[2:3], s4 ; encoding
: [0x41,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
91 // NOSICI
: error
: instruction
not supported on this GPU
92 // NOGFX9
: error
: not a valid operand.
94 s_store_dword tma_lo
, s
[2:3], s4
95 // VI
: s_store_dword tma_lo
, s
[2:3], s4 ; encoding
: [0x81,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
96 // NOSICI
: error
: instruction
not supported on this GPU
97 // NOGFX9
: error
: not a valid operand.
99 s_store_dword tma_hi
, s
[2:3], s4
100 // VI
: s_store_dword tma_hi
, s
[2:3], s4 ; encoding
: [0xc1,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
101 // NOSICI
: error
: instruction
not supported on this GPU
102 // NOGFX9
: error
: not a valid operand.
104 // FIXME
: Should error on SI instead of silently ignoring glc
105 s_load_dword s1
, s
[2:3], 0xfc glc
106 // GFX89
: s_load_dword s1
, s
[2:3], 0xfc glc ; encoding
: [0x41,0x00,0x03,0xc0,0xfc,0x00,0x00,0x00]
107 // GFX10
: s_load_dword s1
, s
[2:3], 0xfc glc ; encoding
: [0x41,0x00,0x01,0xf4,0xfc,0x00,0x00,0xfa]
109 s_load_dword s1
, s
[2:3], s4 glc
110 // GFX89
: s_load_dword s1
, s
[2:3], s4 glc ; encoding
: [0x41,0x00,0x01,0xc0,0x04,0x00,0x00,0x00]
111 // GFX10
: s_load_dword s1
, s
[2:3], s4 glc ; encoding
: [0x41,0x00,0x01,0xf4,0x00,0x00,0x00,0x08]
113 s_buffer_store_dword s10
, s
[92:95], m0
114 // GFX89
: s_buffer_store_dword s10
, s
[92:95], m0 ; encoding
: [0xae,0x02,0x60,0xc0,0x7c,0x00,0x00,0x00]
115 // NOSICI
: error
: instruction
not supported on this GPU
117 s_buffer_store_dword tba_lo
, s
[92:95], m0
118 // VI
: s_buffer_store_dword tba_lo
, s
[92:95], m0 ; encoding
: [0x2e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
119 // NOSICI
: error
: instruction
not supported on this GPU
120 // NOGFX9
: error
: not a valid operand.
122 s_buffer_store_dword tba_hi
, s
[92:95], m0
123 // VI
: s_buffer_store_dword tba_hi
, s
[92:95], m0 ; encoding
: [0x6e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
124 // NOSICI
: error
: instruction
not supported on this GPU
125 // NOGFX9
: error
: not a valid operand.
127 s_buffer_store_dword tma_lo
, s
[92:95], m0
128 // VI
: s_buffer_store_dword tma_lo
, s
[92:95], m0 ; encoding
: [0xae,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
129 // NOSICI
: error
: instruction
not supported on this GPU
130 // NOGFX9
: error
: not a valid operand.
132 s_buffer_store_dword tma_hi
, s
[92:95], m0
133 // VI
: s_buffer_store_dword tma_hi
, s
[92:95], m0 ; encoding
: [0xee,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
134 // NOSICI
: error
: instruction
not supported on this GPU
135 // NOGFX9
: error
: not a valid operand.
137 s_buffer_store_dword ttmp0
, s
[92:95], m0
138 // VI
: s_buffer_store_dword ttmp0
, s
[92:95], m0 ; encoding
: [0x2e,0x1c,0x60,0xc0,0x7c,0x00,0x00,0x00]
139 // GFX9
: s_buffer_store_dword ttmp0
, s
[92:95], m0 ; encoding
: [0x2e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
140 // NOSICI
: error
: instruction
not supported on this GPU
142 s_buffer_store_dwordx2 s
[10:11], s
[92:95], m0
143 // GFX89
: s_buffer_store_dwordx2 s
[10:11], s
[92:95], m0 ; encoding
: [0xae,0x02,0x64,0xc0,0x7c,0x00,0x00,0x00]
144 // NOSICI
: error
: instruction
not supported on this GPU
146 s_buffer_store_dwordx4 s
[8:11], s
[92:95], m0 glc
147 // GFX89
: s_buffer_store_dwordx4 s
[8:11], s
[92:95], m0 glc ; encoding
: [0x2e,0x02,0x69,0xc0,0x7c,0x00,0x00,0x00]
148 // NOSICI
: error
: invalid operand for instruction
150 s_buffer_store_dwordx2 tba
, s
[92:95], m0 glc
151 // VI
: s_buffer_store_dwordx2 tba
, s
[92:95], m0 glc ; encoding
: [0x2e,0x1b,0x65,0xc0,0x7c,0x00,0x00,0x00]
152 // NOSICI
: error
: invalid operand for instruction
153 // NOGFX9
: error
: not a valid operand.
155 s_buffer_load_dword s10
, s
[92:95], m0
156 // GFX89
: s_buffer_load_dword s10
, s
[92:95], m0 ; encoding
: [0xae,0x02,0x20,0xc0,0x7c,0x00,0x00,0x00]
157 // SICIGFX10
: s_buffer_load_dword s10
, s
[92:95], m0 ; encoding
: [0x7c,0x5c,0x05,0xc2]
159 s_buffer_load_dword tba_lo
, s
[92:95], m0
160 // VI
: s_buffer_load_dword tba_lo
, s
[92:95], m0 ; encoding
: [0x2e,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
161 // SICI
: s_buffer_load_dword tba_lo
, s
[92:95], m0 ; encoding
: [0x7c,0x5c,0x36,0xc2]
162 // NOGFX9
: error
: not a valid operand.
164 s_buffer_load_dword tba_hi
, s
[92:95], m0
165 // VI
: s_buffer_load_dword tba_hi
, s
[92:95], m0 ; encoding
: [0x6e,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
166 // SICI
: s_buffer_load_dword tba_hi
, s
[92:95], m0 ; encoding
: [0x7c,0xdc,0x36,0xc2]
167 // NOGFX9
: error
: not a valid operand.
169 s_buffer_load_dword tma_lo
, s
[92:95], m0
170 // VI
: s_buffer_load_dword tma_lo
, s
[92:95], m0 ; encoding
: [0xae,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
171 // SICI
: s_buffer_load_dword tma_lo
, s
[92:95], m0 ; encoding
: [0x7c,0x5c,0x37,0xc2]
172 // NOGFX9
: error
: not a valid operand.
174 s_buffer_load_dword tma_hi
, s
[92:95], m0
175 // VI
: s_buffer_load_dword tma_hi
, s
[92:95], m0 ; encoding
: [0xee,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
176 // SICI
: s_buffer_load_dword tma_hi
, s
[92:95], m0 ; encoding
: [0x7c,0xdc,0x37,0xc2]
177 // NOGFX9
: error
: not a valid operand.
179 s_buffer_load_dword ttmp0
, s
[92:95], m0
180 // VI
: s_buffer_load_dword ttmp0
, s
[92:95], m0 ; encoding
: [0x2e,0x1c,0x20,0xc0,0x7c,0x00,0x00,0x00]
181 // GFX9
: s_buffer_load_dword ttmp0
, s
[92:95], m0 ; encoding
: [0x2e,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
182 // SICI
: s_buffer_load_dword ttmp0
, s
[92:95], m0 ; encoding
: [0x7c,0x5c,0x38,0xc2]
183 // GFX10
: s_buffer_load_dword ttmp0
, s
[92:95], m0 ; encoding
: [0x2e,0x1b,0x20,0xf4,0x00,0x00,0x00,0xf8]
185 s_buffer_load_dwordx2 s
[10:11], s
[92:95], m0
186 // GFX89
: s_buffer_load_dwordx2 s
[10:11], s
[92:95], m0 ; encoding
: [0xae,0x02,0x24,0xc0,0x7c,0x00,0x00,0x00]
187 // SICI
: s_buffer_load_dwordx2 s
[10:11], s
[92:95], m0 ; encoding
: [0x7c,0x5c,0x45,0xc2]
188 // GFX10
: s_buffer_load_dwordx2 s
[10:11], s
[92:95], m0 ; encoding
: [0xae,0x02,0x24,0xf4,0x00,0x00,0x00,0xf8]
190 s_buffer_load_dwordx2 tba
, s
[92:95], m0
191 // VI
: s_buffer_load_dwordx2 tba
, s
[92:95], m0 ; encoding
: [0x2e,0x1b,0x24,0xc0,0x7c,0x00,0x00,0x00]
192 // SICI
: s_buffer_load_dwordx2 tba
, s
[92:95], m0 ; encoding
: [0x7c,0x5c,0x76,0xc2]
193 // NOGFX9
: error
: not a valid operand.
195 s_buffer_load_dwordx2 tma
, s
[92:95], m0
196 // VI
: s_buffer_load_dwordx2 tma
, s
[92:95], m0 ; encoding
: [0xae,0x1b,0x24,0xc0,0x7c,0x00,0x00,0x00]
197 // SICI
: s_buffer_load_dwordx2 tma
, s
[92:95], m0 ; encoding
: [0x7c,0x5c,0x77,0xc2]
198 // NOGFX9
: error
: not a valid operand.
200 s_buffer_load_dwordx2 ttmp
[0:1], s
[92:95], m0
201 // VI
: s_buffer_load_dwordx2 ttmp
[0:1], s
[92:95], m0 ; encoding
: [0x2e,0x1c,0x24,0xc0,0x7c,0x00,0x00,0x00]
202 // GFX9
: s_buffer_load_dwordx2 ttmp
[0:1], s
[92:95], m0 ; encoding
: [0x2e,0x1b,0x24,0xc0,0x7c,0x00,0x00,0x00]
203 // SICI
: s_buffer_load_dwordx2 ttmp
[0:1], s
[92:95], m0 ; encoding
: [0x7c,0x5c,0x78,0xc2]
204 // GFX10
: s_buffer_load_dwordx2 ttmp
[0:1], s
[92:95], m0 ; encoding
: [0x2e,0x1b,0x24,0xf4,0x00,0x00,0x00,0xf8]
206 // FIXME
: Should error on SI instead of silently ignoring glc
207 s_buffer_load_dwordx4 s
[8:11], s
[92:95], m0 glc
208 // GFX89
: s_buffer_load_dwordx4 s
[8:11], s
[92:95], m0 glc ; encoding
: [0x2e,0x02,0x29,0xc0,0x7c,0x00,0x00,0x00]
209 // GFX10
: s_buffer_load_dwordx4 s
[8:11], s
[92:95], m0 glc ; encoding
: [0x2e,0x02,0x29,0xf4,0x00,0x00,0x00,0xf8]
211 //===----------------------------------------------------------------------===//
212 // s_scratch instructions
213 //===----------------------------------------------------------------------===//
215 s_scratch_load_dword s5
, s
[2:3], s101
216 // GFX9
: s_scratch_load_dword s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x14,0xc0,0x65,0x00,0x00,0x00]
217 // GFX1012
: s_scratch_load_dword s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x14,0xf4,0x00,0x00,0x00,0xca]
218 // NOSICIVI
: error
: instruction
not supported on this GPU
220 s_scratch_load_dword s5
, s
[2:3], s0 glc
221 // GFX9
: s_scratch_load_dword s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x15,0xc0,0x00,0x00,0x00,0x00]
222 // GFX1012
: s_scratch_load_dword s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x15,0xf4,0x00,0x00,0x00,0x00]
225 s_scratch_load_dwordx2 s
[100:101], s
[2:3], s0
226 // GFX9
: s_scratch_load_dwordx2 s
[100:101], s
[2:3], s0 ; encoding
: [0x01,0x19,0x18,0xc0,0x00,0x00,0x00,0x00]
227 // GFX1012
: s_scratch_load_dwordx2 s
[100:101], s
[2:3], s0 ; encoding
: [0x01,0x19,0x18,0xf4,0x00,0x00,0x00,0x00]
228 // NOSICIVI
: error
: instruction
not supported on this GPU
230 s_scratch_load_dwordx2 s
[10:11], s
[2:3], 0x1 glc
231 // GFX9
: s_scratch_load_dwordx2 s
[10:11], s
[2:3], 0x1 glc ; encoding
: [0x81,0x02,0x1b,0xc0,0x01,0x00,0x00,0x00]
232 // GFX1012
: s_scratch_load_dwordx2 s
[10:11], s
[2:3], 0x1 glc ; encoding
: [0x81,0x02,0x19,0xf4,0x01,0x00,0x00,0xfa]
235 s_scratch_load_dwordx4 s
[20:23], s
[4:5], s0
236 // GFX9
: s_scratch_load_dwordx4 s
[20:23], s
[4:5], s0 ; encoding
: [0x02,0x05,0x1c,0xc0,0x00,0x00,0x00,0x00]
237 // GFX1012
: s_scratch_load_dwordx4 s
[20:23], s
[4:5], s0 ; encoding
: [0x02,0x05,0x1c,0xf4,0x00,0x00,0x00,0x00]
238 // NOSICIVI
: error
: instruction
not supported on this GPU
240 s_scratch_store_dword s101
, s
[4:5], s0
241 // GFX9
: s_scratch_store_dword s101
, s
[4:5], s0 ; encoding
: [0x42,0x19,0x54,0xc0,0x00,0x00,0x00,0x00]
242 // GFX1012
: s_scratch_store_dword s101
, s
[4:5], s0 ; encoding
: [0x42,0x19,0x54,0xf4,0x00,0x00,0x00,0x00]
243 // NOSICIVI
: error
: instruction
not supported on this GPU
245 s_scratch_store_dword s1
, s
[4:5], 0x123 glc
246 // GFX9
: s_scratch_store_dword s1
, s
[4:5], 0x123 glc ; encoding
: [0x42,0x00,0x57,0xc0,0x23,0x01,0x00,0x00]
247 // GFX1012
: s_scratch_store_dword s1
, s
[4:5], 0x123 glc ; encoding
: [0x42,0x00,0x55,0xf4,0x23,0x01,0x00,0xfa]
250 s_scratch_store_dwordx2 s
[2:3], s
[4:5], s101 glc
251 // GFX9
: s_scratch_store_dwordx2 s
[2:3], s
[4:5], s101 glc ; encoding
: [0x82,0x00,0x59,0xc0,0x65,0x00,0x00,0x00]
252 // GFX1012
: s_scratch_store_dwordx2 s
[2:3], s
[4:5], s101 glc ; encoding
: [0x82,0x00,0x59,0xf4,0x00,0x00,0x00,0xca]
255 s_scratch_store_dwordx4 s
[4:7], s
[4:5], s0 glc
256 // GFX9
: s_scratch_store_dwordx4 s
[4:7], s
[4:5], s0 glc ; encoding
: [0x02,0x01,0x5d,0xc0,0x00,0x00,0x00,0x00]
257 // GFX1012
: s_scratch_store_dwordx4 s
[4:7], s
[4:5], s0 glc ; encoding
: [0x02,0x01,0x5d,0xf4,0x00,0x00,0x00,0x00]
260 //===----------------------------------------------------------------------===//
261 // s_dcache_discard instructions
262 //===----------------------------------------------------------------------===//
264 s_dcache_discard s
[2:3], s0
265 // GFX9
: s_dcache_discard s
[2:3], s0 ; encoding
: [0x01,0x00,0xa0,0xc0,0x00,0x00,0x00,0x00]
266 // GFX1012
: s_dcache_discard s
[2:3], s0 ; encoding
: [0x01,0x00,0xa0,0xf4,0x00,0x00,0x00,0x00]
267 // NOSICIVI
: error
: instruction
not supported on this GPU
269 s_dcache_discard s
[2:3], 0x0
270 // GFX9
: s_dcache_discard s
[2:3], 0x0 ; encoding
: [0x01,0x00,0xa2,0xc0,0x00,0x00,0x00,0x00]
271 // GFX1012
: s_dcache_discard s
[2:3], 0x0 ; encoding
: [0x01,0x00,0xa0,0xf4,0x00,0x00,0x00,0xfa]
272 // NOSICIVI
: error
: instruction
not supported on this GPU
274 s_dcache_discard_x2 s
[2:3], s101
275 // GFX9
: s_dcache_discard_x2 s
[2:3], s101 ; encoding
: [0x01,0x00,0xa4,0xc0,0x65,0x00,0x00,0x00]
276 // GFX1012
: s_dcache_discard_x2 s
[2:3], s101 ; encoding
: [0x01,0x00,0xa4,0xf4,0x00,0x00,0x00,0xca]
277 // NOSICIVI
: error
: instruction
not supported on this GPU
279 s_dcache_discard_x2 s
[2:3], 0x0
280 // GFX9
: s_dcache_discard_x2 s
[2:3], 0x0 ; encoding
: [0x01,0x00,0xa6,0xc0,0x00,0x00,0x00,0x00]
281 // GFX1012
: s_dcache_discard_x2 s
[2:3], 0x0 ; encoding
: [0x01,0x00,0xa4,0xf4,0x00,0x00,0x00,0xfa]
282 // NOSICIVI
: error
: instruction
not supported on this GPU
284 //===----------------------------------------------------------------------===//
285 // s_atomic instructions
286 //===----------------------------------------------------------------------===//
288 s_atomic_add s5
, s
[2:3], s101
289 // GFX9
: s_atomic_add s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x08,0xc2,0x65,0x00,0x00,0x00]
290 // GFX1012
: s_atomic_add s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x08,0xf6,0x00,0x00,0x00,0xca]
293 s_atomic_add s5
, s
[2:3], 0x0
294 // GFX9
: s_atomic_add s5
, s
[2:3], 0x0 ; encoding
: [0x41,0x01,0x0a,0xc2,0x00,0x00,0x00,0x00]
295 // GFX1012
: s_atomic_add s5
, s
[2:3], 0x0 ; encoding
: [0x41,0x01,0x08,0xf6,0x00,0x00,0x00,0xfa]
298 s_atomic_add s5
, s
[2:3], s0 glc
299 // GFX9
: s_atomic_add s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x09,0xc2,0x00,0x00,0x00,0x00]
300 // GFX1012
: s_atomic_add s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x09,0xf6,0x00,0x00,0x00,0x00]
303 s_atomic_add_x2 s
[10:11], s
[2:3], s101
304 // GFX9
: s_atomic_add_x2 s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0x88,0xc2,0x65,0x00,0x00,0x00]
305 // GFX1012
: s_atomic_add_x2 s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0x88,0xf6,0x00,0x00,0x00,0xca]
308 s_atomic_and s5
, s
[2:3], s101
309 // GFX9
: s_atomic_and s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x20,0xc2,0x65,0x00,0x00,0x00]
310 // GFX1012
: s_atomic_and s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x20,0xf6,0x00,0x00,0x00,0xca]
313 s_atomic_and_x2 s
[10:11], s
[2:3], 0x0
314 // GFX9
: s_atomic_and_x2 s
[10:11], s
[2:3], 0x0 ; encoding
: [0x81,0x02,0xa2,0xc2,0x00,0x00,0x00,0x00]
315 // GFX1012
: s_atomic_and_x2 s
[10:11], s
[2:3], 0x0 ; encoding
: [0x81,0x02,0xa0,0xf6,0x00,0x00,0x00,0xfa]
318 s_atomic_cmpswap s
[10:11], s
[2:3], s101
319 // GFX9
: s_atomic_cmpswap s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0x04,0xc2,0x65,0x00,0x00,0x00]
320 // GFX1012
: s_atomic_cmpswap s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0x04,0xf6,0x00,0x00,0x00,0xca]
323 s_atomic_cmpswap s
[10:11], s
[2:3], 0x0
324 // GFX9
: s_atomic_cmpswap s
[10:11], s
[2:3], 0x0 ; encoding
: [0x81,0x02,0x06,0xc2,0x00,0x00,0x00,0x00]
325 // GFX1012
: s_atomic_cmpswap s
[10:11], s
[2:3], 0x0 ; encoding
: [0x81,0x02,0x04,0xf6,0x00,0x00,0x00,0xfa]
328 s_atomic_cmpswap s
[10:11], s
[2:3], s0 glc
329 // GFX9
: s_atomic_cmpswap s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x05,0xc2,0x00,0x00,0x00,0x00]
330 // GFX1012
: s_atomic_cmpswap s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x05,0xf6,0x00,0x00,0x00,0x00]
333 s_atomic_cmpswap_x2 s
[20:23], s
[2:3], s101
334 // GFX9
: s_atomic_cmpswap_x2 s
[20:23], s
[2:3], s101 ; encoding
: [0x01,0x05,0x84,0xc2,0x65,0x00,0x00,0x00]
335 // GFX1012
: s_atomic_cmpswap_x2 s
[20:23], s
[2:3], s101 ; encoding
: [0x01,0x05,0x84,0xf6,0x00,0x00,0x00,0xca]
338 s_atomic_cmpswap_x2 s
[20:23], s
[2:3], 0x0
339 // GFX9
: s_atomic_cmpswap_x2 s
[20:23], s
[2:3], 0x0 ; encoding
: [0x01,0x05,0x86,0xc2,0x00,0x00,0x00,0x00]
340 // GFX1012
: s_atomic_cmpswap_x2 s
[20:23], s
[2:3], 0x0 ; encoding
: [0x01,0x05,0x84,0xf6,0x00,0x00,0x00,0xfa]
343 s_atomic_cmpswap_x2 s
[20:23], s
[2:3], s0 glc
344 // GFX9
: s_atomic_cmpswap_x2 s
[20:23], s
[2:3], s0 glc ; encoding
: [0x01,0x05,0x85,0xc2,0x00,0x00,0x00,0x00]
345 // GFX1012
: s_atomic_cmpswap_x2 s
[20:23], s
[2:3], s0 glc ; encoding
: [0x01,0x05,0x85,0xf6,0x00,0x00,0x00,0x00]
348 s_atomic_dec s5
, s
[2:3], s0 glc
349 // GFX9
: s_atomic_dec s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x31,0xc2,0x00,0x00,0x00,0x00]
350 // GFX1012
: s_atomic_dec s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x31,0xf6,0x00,0x00,0x00,0x00]
353 s_atomic_dec_x2 s
[10:11], s
[2:3], s101
354 // GFX9
: s_atomic_dec_x2 s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0xb0,0xc2,0x65,0x00,0x00,0x00]
355 // GFX1012
: s_atomic_dec_x2 s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0xb0,0xf6,0x00,0x00,0x00,0xca]
358 s_atomic_inc s5
, s
[2:3], s0 glc
359 // GFX9
: s_atomic_inc s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x2d,0xc2,0x00,0x00,0x00,0x00]
360 // GFX1012
: s_atomic_inc s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x2d,0xf6,0x00,0x00,0x00,0x00]
363 s_atomic_inc_x2 s
[10:11], s
[2:3], s101
364 // GFX9
: s_atomic_inc_x2 s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0xac,0xc2,0x65,0x00,0x00,0x00]
365 // GFX1012
: s_atomic_inc_x2 s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0xac,0xf6,0x00,0x00,0x00,0xca]
368 s_atomic_or s5
, s
[2:3], 0x0
369 // GFX9
: s_atomic_or s5
, s
[2:3], 0x0 ; encoding
: [0x41,0x01,0x26,0xc2,0x00,0x00,0x00,0x00]
370 // GFX1012
: s_atomic_or s5
, s
[2:3], 0x0 ; encoding
: [0x41,0x01,0x24,0xf6,0x00,0x00,0x00,0xfa]
373 s_atomic_or_x2 s
[10:11], s
[2:3], s0 glc
374 // GFX9
: s_atomic_or_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0xa5,0xc2,0x00,0x00,0x00,0x00]
375 // GFX1012
: s_atomic_or_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0xa5,0xf6,0x00,0x00,0x00,0x00]
378 s_atomic_smax s5
, s
[2:3], s101
379 // GFX9
: s_atomic_smax s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x18,0xc2,0x65,0x00,0x00,0x00]
380 // GFX1012
: s_atomic_smax s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x18,0xf6,0x00,0x00,0x00,0xca]
383 s_atomic_smax_x2 s
[10:11], s
[2:3], s0 glc
384 // GFX9
: s_atomic_smax_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x99,0xc2,0x00,0x00,0x00,0x00]
385 // GFX1012
: s_atomic_smax_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x99,0xf6,0x00,0x00,0x00,0x00]
388 s_atomic_smin s5
, s
[2:3], s101
389 // GFX9
: s_atomic_smin s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x10,0xc2,0x65,0x00,0x00,0x00]
390 // GFX1012
: s_atomic_smin s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x10,0xf6,0x00,0x00,0x00,0xca]
393 s_atomic_smin_x2 s
[10:11], s
[2:3], s0 glc
394 // GFX9
: s_atomic_smin_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x91,0xc2,0x00,0x00,0x00,0x00]
395 // GFX1012
: s_atomic_smin_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x91,0xf6,0x00,0x00,0x00,0x00]
398 s_atomic_sub s5
, s
[2:3], s101
399 // GFX9
: s_atomic_sub s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x0c,0xc2,0x65,0x00,0x00,0x00]
400 // GFX1012
: s_atomic_sub s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x0c,0xf6,0x00,0x00,0x00,0xca]
403 s_atomic_sub_x2 s
[10:11], s
[2:3], s0 glc
404 // GFX9
: s_atomic_sub_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x8d,0xc2,0x00,0x00,0x00,0x00]
405 // GFX1012
: s_atomic_sub_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x8d,0xf6,0x00,0x00,0x00,0x00]
408 s_atomic_swap s5
, s
[2:3], s101
409 // GFX9
: s_atomic_swap s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x00,0xc2,0x65,0x00,0x00,0x00]
410 // GFX1012
: s_atomic_swap s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x00,0xf6,0x00,0x00,0x00,0xca]
413 s_atomic_swap_x2 s
[10:11], s
[2:3], s0 glc
414 // GFX9
: s_atomic_swap_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x81,0xc2,0x00,0x00,0x00,0x00]
415 // GFX1012
: s_atomic_swap_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x81,0xf6,0x00,0x00,0x00,0x00]
418 s_atomic_umax s5
, s
[2:3], s0 glc
419 // GFX9
: s_atomic_umax s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x1d,0xc2,0x00,0x00,0x00,0x00]
420 // GFX1012
: s_atomic_umax s5
, s
[2:3], s0 glc ; encoding
: [0x41,0x01,0x1d,0xf6,0x00,0x00,0x00,0x00]
423 s_atomic_umax_x2 s
[10:11], s
[2:3], s101
424 // GFX9
: s_atomic_umax_x2 s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0x9c,0xc2,0x65,0x00,0x00,0x00]
425 // GFX1012
: s_atomic_umax_x2 s
[10:11], s
[2:3], s101 ; encoding
: [0x81,0x02,0x9c,0xf6,0x00,0x00,0x00,0xca]
428 s_atomic_umin s5
, s
[2:3], s101
429 // GFX9
: s_atomic_umin s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x14,0xc2,0x65,0x00,0x00,0x00]
430 // GFX1012
: s_atomic_umin s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x14,0xf6,0x00,0x00,0x00,0xca]
433 s_atomic_umin_x2 s
[10:11], s
[2:3], s0 glc
434 // GFX9
: s_atomic_umin_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x95,0xc2,0x00,0x00,0x00,0x00]
435 // GFX1012
: s_atomic_umin_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0x95,0xf6,0x00,0x00,0x00,0x00]
438 s_atomic_xor s5
, s
[2:3], s101
439 // GFX9
: s_atomic_xor s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x28,0xc2,0x65,0x00,0x00,0x00]
440 // GFX1012
: s_atomic_xor s5
, s
[2:3], s101 ; encoding
: [0x41,0x01,0x28,0xf6,0x00,0x00,0x00,0xca]
443 s_atomic_xor_x2 s
[10:11], s
[2:3], s0 glc
444 // GFX9
: s_atomic_xor_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0xa9,0xc2,0x00,0x00,0x00,0x00]
445 // GFX1012
: s_atomic_xor_x2 s
[10:11], s
[2:3], s0 glc ; encoding
: [0x81,0x02,0xa9,0xf6,0x00,0x00,0x00,0x00]
448 //===----------------------------------------------------------------------===//
449 // s_buffer_atomic instructions
450 //===----------------------------------------------------------------------===//
452 s_buffer_atomic_add s5
, s
[4:7], s101
453 // GFX9
: s_buffer_atomic_add s5
, s
[4:7], s101 ; encoding
: [0x42,0x01,0x08,0xc1,0x65,0x00,0x00,0x00]
454 // GFX1012
: s_buffer_atomic_add s5
, s
[4:7], s101 ; encoding
: [0x42,0x01,0x08,0xf5,0x00,0x00,0x00,0xca]
457 s_buffer_atomic_add s5
, s
[4:7], 0x0
458 // GFX9
: s_buffer_atomic_add s5
, s
[4:7], 0x0 ; encoding
: [0x42,0x01,0x0a,0xc1,0x00,0x00,0x00,0x00]
459 // GFX1012
: s_buffer_atomic_add s5
, s
[4:7], 0x0 ; encoding
: [0x42,0x01,0x08,0xf5,0x00,0x00,0x00,0xfa]
462 s_buffer_atomic_add s5
, s
[4:7], s0 glc
463 // GFX9
: s_buffer_atomic_add s5
, s
[4:7], s0 glc ; encoding
: [0x42,0x01,0x09,0xc1,0x00,0x00,0x00,0x00]
464 // GFX1012
: s_buffer_atomic_add s5
, s
[4:7], s0 glc ; encoding
: [0x42,0x01,0x09,0xf5,0x00,0x00,0x00,0x00]
467 s_buffer_atomic_add_x2 s
[10:11], s
[4:7], s0
468 // GFX9
: s_buffer_atomic_add_x2 s
[10:11], s
[4:7], s0 ; encoding
: [0x82,0x02,0x88,0xc1,0x00,0x00,0x00,0x00]
469 // GFX1012
: s_buffer_atomic_add_x2 s
[10:11], s
[4:7], s0 ; encoding
: [0x82,0x02,0x88,0xf5,0x00,0x00,0x00,0x00]
472 s_buffer_atomic_and s101
, s
[4:7], s0
473 // GFX9
: s_buffer_atomic_and s101
, s
[4:7], s0 ; encoding
: [0x42,0x19,0x20,0xc1,0x00,0x00,0x00,0x00]
474 // GFX1012
: s_buffer_atomic_and s101
, s
[4:7], s0 ; encoding
: [0x42,0x19,0x20,0xf5,0x00,0x00,0x00,0x00]
477 s_buffer_atomic_and_x2 s
[10:11], s
[8:11], s0
478 // GFX9
: s_buffer_atomic_and_x2 s
[10:11], s
[8:11], s0 ; encoding
: [0x84,0x02,0xa0,0xc1,0x00,0x00,0x00,0x00]
479 // GFX1012
: s_buffer_atomic_and_x2 s
[10:11], s
[8:11], s0 ; encoding
: [0x84,0x02,0xa0,0xf5,0x00,0x00,0x00,0x00]
482 s_buffer_atomic_cmpswap s
[10:11], s
[4:7], s0
483 // GFX9
: s_buffer_atomic_cmpswap s
[10:11], s
[4:7], s0 ; encoding
: [0x82,0x02,0x04,0xc1,0x00,0x00,0x00,0x00]
484 // GFX1012
: s_buffer_atomic_cmpswap s
[10:11], s
[4:7], s0 ; encoding
: [0x82,0x02,0x04,0xf5,0x00,0x00,0x00,0x00]
487 s_buffer_atomic_cmpswap s
[10:11], s
[4:7], 0x0
488 // GFX9
: s_buffer_atomic_cmpswap s
[10:11], s
[4:7], 0x0 ; encoding
: [0x82,0x02,0x06,0xc1,0x00,0x00,0x00,0x00]
489 // GFX1012
: s_buffer_atomic_cmpswap s
[10:11], s
[4:7], 0x0 ; encoding
: [0x82,0x02,0x04,0xf5,0x00,0x00,0x00,0xfa]
492 s_buffer_atomic_cmpswap s
[10:11], s
[4:7], s0 glc
493 // GFX9
: s_buffer_atomic_cmpswap s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0x05,0xc1,0x00,0x00,0x00,0x00]
494 // GFX1012
: s_buffer_atomic_cmpswap s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0x05,0xf5,0x00,0x00,0x00,0x00]
497 s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], s101
498 // GFX9
: s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], s101 ; encoding
: [0x02,0x05,0x84,0xc1,0x65,0x00,0x00,0x00]
499 // GFX1012
: s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], s101 ; encoding
: [0x02,0x05,0x84,0xf5,0x00,0x00,0x00,0xca]
502 s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], 0x0
503 // GFX9
: s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], 0x0 ; encoding
: [0x02,0x05,0x86,0xc1,0x00,0x00,0x00,0x00]
504 // GFX1012
: s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], 0x0 ; encoding
: [0x02,0x05,0x84,0xf5,0x00,0x00,0x00,0xfa]
507 s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], s0 glc
508 // GFX9
: s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], s0 glc ; encoding
: [0x02,0x05,0x85,0xc1,0x00,0x00,0x00,0x00]
509 // GFX1012
: s_buffer_atomic_cmpswap_x2 s
[20:23], s
[4:7], s0 glc ; encoding
: [0x02,0x05,0x85,0xf5,0x00,0x00,0x00,0x00]
512 s_buffer_atomic_dec s5
, s
[4:7], s0
513 // GFX9
: s_buffer_atomic_dec s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x30,0xc1,0x00,0x00,0x00,0x00]
514 // GFX1012
: s_buffer_atomic_dec s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x30,0xf5,0x00,0x00,0x00,0x00]
517 s_buffer_atomic_dec_x2 s
[10:11], s
[4:7], s0 glc
518 // GFX9
: s_buffer_atomic_dec_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0xb1,0xc1,0x00,0x00,0x00,0x00]
519 // GFX1012
: s_buffer_atomic_dec_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0xb1,0xf5,0x00,0x00,0x00,0x00]
522 s_buffer_atomic_inc s101
, s
[4:7], s0
523 // GFX9
: s_buffer_atomic_inc s101
, s
[4:7], s0 ; encoding
: [0x42,0x19,0x2c,0xc1,0x00,0x00,0x00,0x00]
524 // GFX1012
: s_buffer_atomic_inc s101
, s
[4:7], s0 ; encoding
: [0x42,0x19,0x2c,0xf5,0x00,0x00,0x00,0x00]
527 s_buffer_atomic_inc_x2 s
[10:11], s
[4:7], 0x0
528 // GFX9
: s_buffer_atomic_inc_x2 s
[10:11], s
[4:7], 0x0 ; encoding
: [0x82,0x02,0xae,0xc1,0x00,0x00,0x00,0x00]
529 // GFX1012
: s_buffer_atomic_inc_x2 s
[10:11], s
[4:7], 0x0 ; encoding
: [0x82,0x02,0xac,0xf5,0x00,0x00,0x00,0xfa]
532 s_buffer_atomic_or s5
, s
[8:11], s0
533 // GFX9
: s_buffer_atomic_or s5
, s
[8:11], s0 ; encoding
: [0x44,0x01,0x24,0xc1,0x00,0x00,0x00,0x00]
534 // GFX1012
: s_buffer_atomic_or s5
, s
[8:11], s0 ; encoding
: [0x44,0x01,0x24,0xf5,0x00,0x00,0x00,0x00]
537 s_buffer_atomic_or_x2 s
[10:11], s
[96:99], s0
538 // GFX9
: s_buffer_atomic_or_x2 s
[10:11], s
[96:99], s0 ; encoding
: [0xb0,0x02,0xa4,0xc1,0x00,0x00,0x00,0x00]
539 // GFX1012
: s_buffer_atomic_or_x2 s
[10:11], s
[96:99], s0 ; encoding
: [0xb0,0x02,0xa4,0xf5,0x00,0x00,0x00,0x00]
542 s_buffer_atomic_smax s5
, s
[4:7], s101
543 // GFX9
: s_buffer_atomic_smax s5
, s
[4:7], s101 ; encoding
: [0x42,0x01,0x18,0xc1,0x65,0x00,0x00,0x00]
544 // GFX1012
: s_buffer_atomic_smax s5
, s
[4:7], s101 ; encoding
: [0x42,0x01,0x18,0xf5,0x00,0x00,0x00,0xca]
547 s_buffer_atomic_smax_x2 s
[100:101], s
[4:7], s0
548 // GFX9
: s_buffer_atomic_smax_x2 s
[100:101], s
[4:7], s0 ; encoding
: [0x02,0x19,0x98,0xc1,0x00,0x00,0x00,0x00]
549 // GFX1012
: s_buffer_atomic_smax_x2 s
[100:101], s
[4:7], s0 ; encoding
: [0x02,0x19,0x98,0xf5,0x00,0x00,0x00,0x00]
552 s_buffer_atomic_smin s5
, s
[4:7], 0x0
553 // GFX9
: s_buffer_atomic_smin s5
, s
[4:7], 0x0 ; encoding
: [0x42,0x01,0x12,0xc1,0x00,0x00,0x00,0x00]
554 // GFX1012
: s_buffer_atomic_smin s5
, s
[4:7], 0x0 ; encoding
: [0x42,0x01,0x10,0xf5,0x00,0x00,0x00,0xfa]
557 s_buffer_atomic_smin_x2 s
[12:13], s
[4:7], s0
558 // GFX9
: s_buffer_atomic_smin_x2 s
[12:13], s
[4:7], s0 ; encoding
: [0x02,0x03,0x90,0xc1,0x00,0x00,0x00,0x00]
559 // GFX1012
: s_buffer_atomic_smin_x2 s
[12:13], s
[4:7], s0 ; encoding
: [0x02,0x03,0x90,0xf5,0x00,0x00,0x00,0x00]
562 s_buffer_atomic_sub s5
, s
[4:7], s0 glc
563 // GFX9
: s_buffer_atomic_sub s5
, s
[4:7], s0 glc ; encoding
: [0x42,0x01,0x0d,0xc1,0x00,0x00,0x00,0x00]
564 // GFX1012
: s_buffer_atomic_sub s5
, s
[4:7], s0 glc ; encoding
: [0x42,0x01,0x0d,0xf5,0x00,0x00,0x00,0x00]
567 s_buffer_atomic_sub_x2 s
[10:11], s
[4:7], s0
568 // GFX9
: s_buffer_atomic_sub_x2 s
[10:11], s
[4:7], s0 ; encoding
: [0x82,0x02,0x8c,0xc1,0x00,0x00,0x00,0x00]
569 // GFX1012
: s_buffer_atomic_sub_x2 s
[10:11], s
[4:7], s0 ; encoding
: [0x82,0x02,0x8c,0xf5,0x00,0x00,0x00,0x00]
572 s_buffer_atomic_swap s5
, s
[4:7], s0
573 // GFX9
: s_buffer_atomic_swap s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x00,0xc1,0x00,0x00,0x00,0x00]
574 // GFX1012
: s_buffer_atomic_swap s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x00,0xf5,0x00,0x00,0x00,0x00]
577 s_buffer_atomic_swap_x2 s
[10:11], s
[4:7], s0 glc
578 // GFX9
: s_buffer_atomic_swap_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0x81,0xc1,0x00,0x00,0x00,0x00]
579 // GFX1012
: s_buffer_atomic_swap_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0x81,0xf5,0x00,0x00,0x00,0x00]
582 s_buffer_atomic_umax s5
, s
[4:7], s0
583 // GFX9
: s_buffer_atomic_umax s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x1c,0xc1,0x00,0x00,0x00,0x00]
584 // GFX1012
: s_buffer_atomic_umax s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x1c,0xf5,0x00,0x00,0x00,0x00]
587 s_buffer_atomic_umax_x2 s
[10:11], s
[4:7], s0 glc
588 // GFX9
: s_buffer_atomic_umax_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0x9d,0xc1,0x00,0x00,0x00,0x00]
589 // GFX1012
: s_buffer_atomic_umax_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0x9d,0xf5,0x00,0x00,0x00,0x00]
592 s_buffer_atomic_umin s5
, s
[4:7], s0
593 // GFX9
: s_buffer_atomic_umin s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x14,0xc1,0x00,0x00,0x00,0x00]
594 // GFX1012
: s_buffer_atomic_umin s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x14,0xf5,0x00,0x00,0x00,0x00]
597 s_buffer_atomic_umin_x2 s
[10:11], s
[4:7], s0 glc
598 // GFX9
: s_buffer_atomic_umin_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0x95,0xc1,0x00,0x00,0x00,0x00]
599 // GFX1012
: s_buffer_atomic_umin_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0x95,0xf5,0x00,0x00,0x00,0x00]
602 s_buffer_atomic_xor s5
, s
[4:7], s0
603 // GFX9
: s_buffer_atomic_xor s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x28,0xc1,0x00,0x00,0x00,0x00]
604 // GFX1012
: s_buffer_atomic_xor s5
, s
[4:7], s0 ; encoding
: [0x42,0x01,0x28,0xf5,0x00,0x00,0x00,0x00]
607 s_buffer_atomic_xor_x2 s
[10:11], s
[4:7], s0 glc
608 // GFX9
: s_buffer_atomic_xor_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0xa9,0xc1,0x00,0x00,0x00,0x00]
609 // GFX1012
: s_buffer_atomic_xor_x2 s
[10:11], s
[4:7], s0 glc ; encoding
: [0x82,0x02,0xa9,0xf5,0x00,0x00,0x00,0x00]