xref: /llvm-project/llvm/test/MC/Disassembler/AMDGPU/gfx9_smem.txt (revision 252c42354eca54274ed7b10c32c73c6937478e8b)
1# RUN: llvm-mc -triple=amdgcn -mcpu=gfx900 -disassemble -show-encoding < %s | FileCheck -strict-whitespace %s
2
3# CHECK: s_load_dword s5, s[2:3], s0             ; encoding: [0x41,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
40x41,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
5
6# CHECK: s_load_dword s101, s[2:3], s0           ; encoding: [0x41,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
70x41,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
8
9# CHECK: s_load_dword flat_scratch_lo, s[2:3], s0 ; encoding: [0x81,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
100x81,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
11
12# CHECK: s_load_dword flat_scratch_hi, s[2:3], s0 ; encoding: [0xc1,0x19,0x00,0xc0,0x00,0x00,0x00,0x00]
130xc1,0x19,0x00,0xc0,0x00,0x00,0x00,0x00
14
15# CHECK: s_load_dword vcc_lo, s[2:3], s0         ; encoding: [0x81,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00]
160x81,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00
17
18# CHECK: s_load_dword vcc_hi, s[2:3], s0         ; encoding: [0xc1,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00]
190xc1,0x1a,0x00,0xc0,0x00,0x00,0x00,0x00
20
21# CHECK: s_load_dword s5, s[4:5], s0             ; encoding: [0x42,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
220x42,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
23
24# CHECK: s_load_dword s5, s[100:101], s0         ; encoding: [0x72,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
250x72,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
26
27# CHECK: s_load_dword s5, flat_scratch, s0       ; encoding: [0x73,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
280x73,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
29
30# CHECK: s_load_dword s5, vcc, s0                ; encoding: [0x75,0x01,0x00,0xc0,0x00,0x00,0x00,0x00]
310x75,0x01,0x00,0xc0,0x00,0x00,0x00,0x00
32
33# CHECK: s_load_dword s5, s[2:3], s101           ; encoding: [0x41,0x01,0x00,0xc0,0x65,0x00,0x00,0x00]
340x41,0x01,0x00,0xc0,0x65,0x00,0x00,0x00
35
36# The SGRP variants can alternatively be encoded with imm=0, soffset_en=1
37# and the offset register encoded in the soffset field with the offset
38# field being disregarded.
39# CHECK: s_load_dword s5, s[2:3], s64            ; encoding: [0x41,0x41,0x00,0xc0,0x00,0x00,0x00,0x80]
400x41,0x41,0x00,0xc0,0x65,0x00,0x00,0x80
41
42# CHECK: s_load_dword s5, s[2:3], flat_scratch_lo ; encoding: [0x41,0x01,0x00,0xc0,0x66,0x00,0x00,0x00]
430x41,0x01,0x00,0xc0,0x66,0x00,0x00,0x00
44
45# CHECK: s_load_dword s5, s[2:3], flat_scratch_hi ; encoding: [0x41,0x01,0x00,0xc0,0x67,0x00,0x00,0x00]
460x41,0x01,0x00,0xc0,0x67,0x00,0x00,0x00
47
48# CHECK: s_load_dword s5, s[2:3], vcc_lo         ; encoding: [0x41,0x01,0x00,0xc0,0x6a,0x00,0x00,0x00]
490x41,0x01,0x00,0xc0,0x6a,0x00,0x00,0x00
50
51# CHECK: s_load_dword s5, s[2:3], vcc_hi         ; encoding: [0x41,0x01,0x00,0xc0,0x6b,0x00,0x00,0x00]
520x41,0x01,0x00,0xc0,0x6b,0x00,0x00,0x00
53
54# CHECK: s_load_dword s5, s[2:3], m0             ; encoding: [0x41,0x01,0x00,0xc0,0x7c,0x00,0x00,0x00]
550x41,0x01,0x00,0xc0,0x7c,0x00,0x00,0x00
56
57# CHECK: s_load_dword s5, s[2:3], 0x0            ; encoding: [0x41,0x01,0x02,0xc0,0x00,0x00,0x00,0x00]
580x41,0x01,0x02,0xc0,0x00,0x00,0x00,0x00
59
60# CHECK: s_load_dword s5, s[2:3], s0 offset:0x12345 ; encoding: [0x41,0x41,0x02,0xc0,0x45,0x23,0x01,0x00]
610x41,0x41,0x02,0xc0,0x45,0x23,0x01,0x00
62
63# SP3 prefers to decode instructions with imm=1 and soffset_en=1 to the
64# form with the 'offset:' modifier, even if the offset is 0.
65# CHECK: s_load_dword s5, s[2:3], s0 offset:0x0  ; encoding: [0x41,0x41,0x02,0xc0,0x00,0x00,0x00,0x00]
660x41,0x41,0x02,0xc0,0x00,0x00,0x00,0x00
67
68# CHECK: s_load_dword s5, s[2:3], s0 glc         ; encoding: [0x41,0x01,0x01,0xc0,0x00,0x00,0x00,0x00]
690x41,0x01,0x01,0xc0,0x00,0x00,0x00,0x00
70
71# CHECK: s_load_dwordx2 s[10:11], s[2:3], s0     ; encoding: [0x81,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
720x81,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
73
74# CHECK: s_load_dwordx2 s[12:13], s[2:3], s0     ; encoding: [0x01,0x03,0x04,0xc0,0x00,0x00,0x00,0x00]
750x01,0x03,0x04,0xc0,0x00,0x00,0x00,0x00
76
77# CHECK: s_load_dwordx2 s[100:101], s[2:3], s0   ; encoding: [0x01,0x19,0x04,0xc0,0x00,0x00,0x00,0x00]
780x01,0x19,0x04,0xc0,0x00,0x00,0x00,0x00
79
80# CHECK: s_load_dwordx2 flat_scratch, s[2:3], s0 ; encoding: [0x81,0x19,0x04,0xc0,0x00,0x00,0x00,0x00]
810x81,0x19,0x04,0xc0,0x00,0x00,0x00,0x00
82
83# CHECK: s_load_dwordx2 vcc, s[2:3], s0          ; encoding: [0x81,0x1a,0x04,0xc0,0x00,0x00,0x00,0x00]
840x81,0x1a,0x04,0xc0,0x00,0x00,0x00,0x00
85
86# CHECK: s_load_dwordx2 s[10:11], s[4:5], s0     ; encoding: [0x82,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
870x82,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
88
89# CHECK: s_load_dwordx2 s[10:11], s[100:101], s0 ; encoding: [0xb2,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
900xb2,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
91
92# CHECK: s_load_dwordx2 s[10:11], flat_scratch, s0 ; encoding: [0xb3,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
930xb3,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
94
95# CHECK: s_load_dwordx2 s[10:11], vcc, s0        ; encoding: [0xb5,0x02,0x04,0xc0,0x00,0x00,0x00,0x00]
960xb5,0x02,0x04,0xc0,0x00,0x00,0x00,0x00
97
98# CHECK: s_load_dwordx2 s[10:11], s[2:3], s101   ; encoding: [0x81,0x02,0x04,0xc0,0x65,0x00,0x00,0x00]
990x81,0x02,0x04,0xc0,0x65,0x00,0x00,0x00
100
101# CHECK: s_load_dwordx2 s[10:11], s[2:3], flat_scratch_lo ; encoding: [0x81,0x02,0x04,0xc0,0x66,0x00,0x00,0x00]
1020x81,0x02,0x04,0xc0,0x66,0x00,0x00,0x00
103
104# CHECK: s_load_dwordx2 s[10:11], s[2:3], flat_scratch_hi ; encoding: [0x81,0x02,0x04,0xc0,0x67,0x00,0x00,0x00]
1050x81,0x02,0x04,0xc0,0x67,0x00,0x00,0x00
106
107# CHECK: s_load_dwordx2 s[10:11], s[2:3], vcc_lo ; encoding: [0x81,0x02,0x04,0xc0,0x6a,0x00,0x00,0x00]
1080x81,0x02,0x04,0xc0,0x6a,0x00,0x00,0x00
109
110# CHECK: s_load_dwordx2 s[10:11], s[2:3], vcc_hi ; encoding: [0x81,0x02,0x04,0xc0,0x6b,0x00,0x00,0x00]
1110x81,0x02,0x04,0xc0,0x6b,0x00,0x00,0x00
112
113# CHECK: s_load_dwordx2 s[10:11], s[2:3], m0     ; encoding: [0x81,0x02,0x04,0xc0,0x7c,0x00,0x00,0x00]
1140x81,0x02,0x04,0xc0,0x7c,0x00,0x00,0x00
115
116# CHECK: s_load_dwordx2 s[10:11], s[2:3], 0x0    ; encoding: [0x81,0x02,0x06,0xc0,0x00,0x00,0x00,0x00]
1170x81,0x02,0x06,0xc0,0x00,0x00,0x00,0x00
118
119# CHECK: s_load_dwordx2 s[10:11], s[2:3], s0 offset:0x12345 ; encoding: [0x81,0x42,0x06,0xc0,0x45,0x23,0x01,0x00]
1200x81,0x42,0x06,0xc0,0x45,0x23,0x01,0x00
121
122# CHECK: s_load_dwordx2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x05,0xc0,0x00,0x00,0x00,0x00]
1230x81,0x02,0x05,0xc0,0x00,0x00,0x00,0x00
124
125# CHECK: s_load_dwordx4 s[20:23], s[2:3], s0     ; encoding: [0x01,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
1260x01,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
127
128# CHECK: s_load_dwordx4 s[24:27], s[2:3], s0     ; encoding: [0x01,0x06,0x08,0xc0,0x00,0x00,0x00,0x00]
1290x01,0x06,0x08,0xc0,0x00,0x00,0x00,0x00
130
131# CHECK: s_load_dwordx4 s[96:99], s[2:3], s0     ; encoding: [0x01,0x18,0x08,0xc0,0x00,0x00,0x00,0x00]
1320x01,0x18,0x08,0xc0,0x00,0x00,0x00,0x00
133
134# CHECK: s_load_dwordx4 s[20:23], s[4:5], s0     ; encoding: [0x02,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
1350x02,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
136
137# CHECK: s_load_dwordx4 s[20:23], s[100:101], s0 ; encoding: [0x32,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
1380x32,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
139
140# CHECK: s_load_dwordx4 s[20:23], flat_scratch, s0 ; encoding: [0x33,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
1410x33,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
142
143# CHECK: s_load_dwordx4 s[20:23], vcc, s0        ; encoding: [0x35,0x05,0x08,0xc0,0x00,0x00,0x00,0x00]
1440x35,0x05,0x08,0xc0,0x00,0x00,0x00,0x00
145
146# CHECK: s_load_dwordx4 s[20:23], s[2:3], s101   ; encoding: [0x01,0x05,0x08,0xc0,0x65,0x00,0x00,0x00]
1470x01,0x05,0x08,0xc0,0x65,0x00,0x00,0x00
148
149# CHECK: s_load_dwordx4 s[20:23], s[2:3], flat_scratch_lo ; encoding: [0x01,0x05,0x08,0xc0,0x66,0x00,0x00,0x00]
1500x01,0x05,0x08,0xc0,0x66,0x00,0x00,0x00
151
152# CHECK: s_load_dwordx4 s[20:23], s[2:3], flat_scratch_hi ; encoding: [0x01,0x05,0x08,0xc0,0x67,0x00,0x00,0x00]
1530x01,0x05,0x08,0xc0,0x67,0x00,0x00,0x00
154
155# CHECK: s_load_dwordx4 s[20:23], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x08,0xc0,0x6a,0x00,0x00,0x00]
1560x01,0x05,0x08,0xc0,0x6a,0x00,0x00,0x00
157
158# CHECK: s_load_dwordx4 s[20:23], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x08,0xc0,0x6b,0x00,0x00,0x00]
1590x01,0x05,0x08,0xc0,0x6b,0x00,0x00,0x00
160
161# CHECK: s_load_dwordx4 s[20:23], s[2:3], m0     ; encoding: [0x01,0x05,0x08,0xc0,0x7c,0x00,0x00,0x00]
1620x01,0x05,0x08,0xc0,0x7c,0x00,0x00,0x00
163
164# CHECK: s_load_dwordx4 s[20:23], s[2:3], 0x0    ; encoding: [0x01,0x05,0x0a,0xc0,0x00,0x00,0x00,0x00]
1650x01,0x05,0x0a,0xc0,0x00,0x00,0x00,0x00
166
167# CHECK: s_load_dwordx4 s[20:23], s[2:3], s0 offset:0x12345 ; encoding: [0x01,0x45,0x0a,0xc0,0x45,0x23,0x01,0x00]
1680x01,0x45,0x0a,0xc0,0x45,0x23,0x01,0x00
169
170# CHECK: s_load_dwordx4 s[20:23], s[2:3], s0 glc ; encoding: [0x01,0x05,0x09,0xc0,0x00,0x00,0x00,0x00]
1710x01,0x05,0x09,0xc0,0x00,0x00,0x00,0x00
172
173# CHECK: s_load_dwordx8 s[20:27], s[2:3], s0     ; encoding: [0x01,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
1740x01,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
175
176# CHECK: s_load_dwordx8 s[24:31], s[2:3], s0     ; encoding: [0x01,0x06,0x0c,0xc0,0x00,0x00,0x00,0x00]
1770x01,0x06,0x0c,0xc0,0x00,0x00,0x00,0x00
178
179# CHECK: s_load_dwordx8 s[92:99], s[2:3], s0     ; encoding: [0x01,0x17,0x0c,0xc0,0x00,0x00,0x00,0x00]
1800x01,0x17,0x0c,0xc0,0x00,0x00,0x00,0x00
181
182# CHECK: s_load_dwordx8 s[20:27], s[4:5], s0     ; encoding: [0x02,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
1830x02,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
184
185# CHECK: s_load_dwordx8 s[20:27], s[100:101], s0 ; encoding: [0x32,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
1860x32,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
187
188# CHECK: s_load_dwordx8 s[20:27], flat_scratch, s0 ; encoding: [0x33,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
1890x33,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
190
191# CHECK: s_load_dwordx8 s[20:27], vcc, s0        ; encoding: [0x35,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00]
1920x35,0x05,0x0c,0xc0,0x00,0x00,0x00,0x00
193
194# CHECK: s_load_dwordx8 s[20:27], s[2:3], s101   ; encoding: [0x01,0x05,0x0c,0xc0,0x65,0x00,0x00,0x00]
1950x01,0x05,0x0c,0xc0,0x65,0x00,0x00,0x00
196
197# CHECK: s_load_dwordx8 s[20:27], s[2:3], flat_scratch_lo ; encoding: [0x01,0x05,0x0c,0xc0,0x66,0x00,0x00,0x00]
1980x01,0x05,0x0c,0xc0,0x66,0x00,0x00,0x00
199
200# CHECK: s_load_dwordx8 s[20:27], s[2:3], flat_scratch_hi ; encoding: [0x01,0x05,0x0c,0xc0,0x67,0x00,0x00,0x00]
2010x01,0x05,0x0c,0xc0,0x67,0x00,0x00,0x00
202
203# CHECK: s_load_dwordx8 s[20:27], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x0c,0xc0,0x6a,0x00,0x00,0x00]
2040x01,0x05,0x0c,0xc0,0x6a,0x00,0x00,0x00
205
206# CHECK: s_load_dwordx8 s[20:27], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x0c,0xc0,0x6b,0x00,0x00,0x00]
2070x01,0x05,0x0c,0xc0,0x6b,0x00,0x00,0x00
208
209# CHECK: s_load_dwordx8 s[20:27], s[2:3], m0     ; encoding: [0x01,0x05,0x0c,0xc0,0x7c,0x00,0x00,0x00]
2100x01,0x05,0x0c,0xc0,0x7c,0x00,0x00,0x00
211
212# CHECK: s_load_dwordx8 s[20:27], s[2:3], 0x0    ; encoding: [0x01,0x05,0x0e,0xc0,0x00,0x00,0x00,0x00]
2130x01,0x05,0x0e,0xc0,0x00,0x00,0x00,0x00
214
215# CHECK: s_load_dwordx8 s[20:27], s[2:3], s0 offset:0x12345 ; encoding: [0x01,0x45,0x0e,0xc0,0x45,0x23,0x01,0x00]
2160x01,0x45,0x0e,0xc0,0x45,0x23,0x01,0x00
217
218# CHECK: s_load_dwordx8 s[20:27], s[2:3], s0 glc ; encoding: [0x01,0x05,0x0d,0xc0,0x00,0x00,0x00,0x00]
2190x01,0x05,0x0d,0xc0,0x00,0x00,0x00,0x00
220
221# CHECK: s_load_dwordx16 s[20:35], s[2:3], s0    ; encoding: [0x01,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
2220x01,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
223
224# CHECK: s_load_dwordx16 s[24:39], s[2:3], s0    ; encoding: [0x01,0x06,0x10,0xc0,0x00,0x00,0x00,0x00]
2250x01,0x06,0x10,0xc0,0x00,0x00,0x00,0x00
226
227# CHECK: s_load_dwordx16 s[84:99], s[2:3], s0    ; encoding: [0x01,0x15,0x10,0xc0,0x00,0x00,0x00,0x00]
2280x01,0x15,0x10,0xc0,0x00,0x00,0x00,0x00
229
230# CHECK: s_load_dwordx16 s[20:35], s[4:5], s0    ; encoding: [0x02,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
2310x02,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
232
233# CHECK: s_load_dwordx16 s[20:35], s[100:101], s0 ; encoding: [0x32,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
2340x32,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
235
236# CHECK: s_load_dwordx16 s[20:35], flat_scratch, s0 ; encoding: [0x33,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
2370x33,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
238
239# CHECK: s_load_dwordx16 s[20:35], vcc, s0       ; encoding: [0x35,0x05,0x10,0xc0,0x00,0x00,0x00,0x00]
2400x35,0x05,0x10,0xc0,0x00,0x00,0x00,0x00
241
242# CHECK: s_load_dwordx16 s[20:35], s[2:3], s101  ; encoding: [0x01,0x05,0x10,0xc0,0x65,0x00,0x00,0x00]
2430x01,0x05,0x10,0xc0,0x65,0x00,0x00,0x00
244
245# CHECK: s_load_dwordx16 s[20:35], s[2:3], flat_scratch_lo ; encoding: [0x01,0x05,0x10,0xc0,0x66,0x00,0x00,0x00]
2460x01,0x05,0x10,0xc0,0x66,0x00,0x00,0x00
247
248# CHECK: s_load_dwordx16 s[20:35], s[2:3], flat_scratch_hi ; encoding: [0x01,0x05,0x10,0xc0,0x67,0x00,0x00,0x00]
2490x01,0x05,0x10,0xc0,0x67,0x00,0x00,0x00
250
251# CHECK: s_load_dwordx16 s[20:35], s[2:3], vcc_lo ; encoding: [0x01,0x05,0x10,0xc0,0x6a,0x00,0x00,0x00]
2520x01,0x05,0x10,0xc0,0x6a,0x00,0x00,0x00
253
254# CHECK: s_load_dwordx16 s[20:35], s[2:3], vcc_hi ; encoding: [0x01,0x05,0x10,0xc0,0x6b,0x00,0x00,0x00]
2550x01,0x05,0x10,0xc0,0x6b,0x00,0x00,0x00
256
257# CHECK: s_load_dwordx16 s[20:35], s[2:3], m0    ; encoding: [0x01,0x05,0x10,0xc0,0x7c,0x00,0x00,0x00]
2580x01,0x05,0x10,0xc0,0x7c,0x00,0x00,0x00
259
260# CHECK: s_load_dwordx16 s[20:35], s[2:3], 0x0   ; encoding: [0x01,0x05,0x12,0xc0,0x00,0x00,0x00,0x00]
2610x01,0x05,0x12,0xc0,0x00,0x00,0x00,0x00
262
263# CHECK: s_load_dwordx16 s[20:35], s[2:3], s0 offset:0x12345 ; encoding: [0x01,0x45,0x12,0xc0,0x45,0x23,0x01,0x00]
2640x01,0x45,0x12,0xc0,0x45,0x23,0x01,0x00
265
266# CHECK: s_load_dwordx16 s[20:35], s[2:3], s0 glc ; encoding: [0x01,0x05,0x11,0xc0,0x00,0x00,0x00,0x00]
2670x01,0x05,0x11,0xc0,0x00,0x00,0x00,0x00
268
269# CHECK: s_buffer_load_dword s5, s[4:7], s0      ; encoding: [0x42,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
2700x42,0x01,0x20,0xc0,0x00,0x00,0x00,0x00
271
272# CHECK: s_buffer_load_dword s101, s[4:7], s0    ; encoding: [0x42,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
2730x42,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
274
275# CHECK: s_buffer_load_dword flat_scratch_lo, s[4:7], s0 ; encoding: [0x82,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
2760x82,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
277
278# CHECK: s_buffer_load_dword flat_scratch_hi, s[4:7], s0 ; encoding: [0xc2,0x19,0x20,0xc0,0x00,0x00,0x00,0x00]
2790xc2,0x19,0x20,0xc0,0x00,0x00,0x00,0x00
280
281# CHECK: s_buffer_load_dword vcc_lo, s[4:7], s0  ; encoding: [0x82,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00]
2820x82,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00
283
284# CHECK: s_buffer_load_dword vcc_hi, s[4:7], s0  ; encoding: [0xc2,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00]
2850xc2,0x1a,0x20,0xc0,0x00,0x00,0x00,0x00
286
287# CHECK: s_buffer_load_dword s5, s[8:11], s0     ; encoding: [0x44,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
2880x44,0x01,0x20,0xc0,0x00,0x00,0x00,0x00
289
290# CHECK: s_buffer_load_dword s5, s[96:99], s0    ; encoding: [0x70,0x01,0x20,0xc0,0x00,0x00,0x00,0x00]
2910x70,0x01,0x20,0xc0,0x00,0x00,0x00,0x00
292
293# CHECK: s_buffer_load_dword s5, s[4:7], s101    ; encoding: [0x42,0x01,0x20,0xc0,0x65,0x00,0x00,0x00]
2940x42,0x01,0x20,0xc0,0x65,0x00,0x00,0x00
295
296# CHECK: s_buffer_load_dword s5, s[4:7], flat_scratch_lo ; encoding: [0x42,0x01,0x20,0xc0,0x66,0x00,0x00,0x00]
2970x42,0x01,0x20,0xc0,0x66,0x00,0x00,0x00
298
299# CHECK: s_buffer_load_dword s5, s[4:7], flat_scratch_hi ; encoding: [0x42,0x01,0x20,0xc0,0x67,0x00,0x00,0x00]
3000x42,0x01,0x20,0xc0,0x67,0x00,0x00,0x00
301
302# CHECK: s_buffer_load_dword s5, s[4:7], vcc_lo  ; encoding: [0x42,0x01,0x20,0xc0,0x6a,0x00,0x00,0x00]
3030x42,0x01,0x20,0xc0,0x6a,0x00,0x00,0x00
304
305# CHECK: s_buffer_load_dword s5, s[4:7], vcc_hi  ; encoding: [0x42,0x01,0x20,0xc0,0x6b,0x00,0x00,0x00]
3060x42,0x01,0x20,0xc0,0x6b,0x00,0x00,0x00
307
308# CHECK: s_buffer_load_dword s5, s[4:7], m0      ; encoding: [0x42,0x01,0x20,0xc0,0x7c,0x00,0x00,0x00]
3090x42,0x01,0x20,0xc0,0x7c,0x00,0x00,0x00
310
311# CHECK: s_buffer_load_dword s5, s[4:7], 0x0     ; encoding: [0x42,0x01,0x22,0xc0,0x00,0x00,0x00,0x00]
3120x42,0x01,0x22,0xc0,0x00,0x00,0x00,0x00
313
314# CHECK: s_buffer_load_dword s5, s[4:7], s0 offset:0x12345 ; encoding: [0x42,0x41,0x22,0xc0,0x45,0x23,0x01,0x00]
3150x42,0x41,0x22,0xc0,0x45,0x23,0x01,0x00
316
317# CHECK: s_buffer_load_dword s5, s[4:7], s0 glc  ; encoding: [0x42,0x01,0x21,0xc0,0x00,0x00,0x00,0x00]
3180x42,0x01,0x21,0xc0,0x00,0x00,0x00,0x00
319
320# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
3210x82,0x02,0x24,0xc0,0x00,0x00,0x00,0x00
322
323# CHECK: s_buffer_load_dwordx2 s[12:13], s[4:7], s0 ; encoding: [0x02,0x03,0x24,0xc0,0x00,0x00,0x00,0x00]
3240x02,0x03,0x24,0xc0,0x00,0x00,0x00,0x00
325
326# CHECK: s_buffer_load_dwordx2 s[100:101], s[4:7], s0 ; encoding: [0x02,0x19,0x24,0xc0,0x00,0x00,0x00,0x00]
3270x02,0x19,0x24,0xc0,0x00,0x00,0x00,0x00
328
329# CHECK: s_buffer_load_dwordx2 flat_scratch, s[4:7], s0 ; encoding: [0x82,0x19,0x24,0xc0,0x00,0x00,0x00,0x00]
3300x82,0x19,0x24,0xc0,0x00,0x00,0x00,0x00
331
332# CHECK: s_buffer_load_dwordx2 vcc, s[4:7], s0   ; encoding: [0x82,0x1a,0x24,0xc0,0x00,0x00,0x00,0x00]
3330x82,0x1a,0x24,0xc0,0x00,0x00,0x00,0x00
334
335# CHECK: s_buffer_load_dwordx2 s[10:11], s[8:11], s0 ; encoding: [0x84,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
3360x84,0x02,0x24,0xc0,0x00,0x00,0x00,0x00
337
338# CHECK: s_buffer_load_dwordx2 s[10:11], s[96:99], s0 ; encoding: [0xb0,0x02,0x24,0xc0,0x00,0x00,0x00,0x00]
3390xb0,0x02,0x24,0xc0,0x00,0x00,0x00,0x00
340
341# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s101 ; encoding: [0x82,0x02,0x24,0xc0,0x65,0x00,0x00,0x00]
3420x82,0x02,0x24,0xc0,0x65,0x00,0x00,0x00
343
344# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], flat_scratch_lo ; encoding: [0x82,0x02,0x24,0xc0,0x66,0x00,0x00,0x00]
3450x82,0x02,0x24,0xc0,0x66,0x00,0x00,0x00
346
347# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], flat_scratch_hi ; encoding: [0x82,0x02,0x24,0xc0,0x67,0x00,0x00,0x00]
3480x82,0x02,0x24,0xc0,0x67,0x00,0x00,0x00
349
350# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], vcc_lo ; encoding: [0x82,0x02,0x24,0xc0,0x6a,0x00,0x00,0x00]
3510x82,0x02,0x24,0xc0,0x6a,0x00,0x00,0x00
352
353# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], vcc_hi ; encoding: [0x82,0x02,0x24,0xc0,0x6b,0x00,0x00,0x00]
3540x82,0x02,0x24,0xc0,0x6b,0x00,0x00,0x00
355
356# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], m0 ; encoding: [0x82,0x02,0x24,0xc0,0x7c,0x00,0x00,0x00]
3570x82,0x02,0x24,0xc0,0x7c,0x00,0x00,0x00
358
359# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0x26,0xc0,0x00,0x00,0x00,0x00]
3600x82,0x02,0x26,0xc0,0x00,0x00,0x00,0x00
361
362# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s0 offset:0x12345 ; encoding: [0x82,0x42,0x26,0xc0,0x45,0x23,0x01,0x00]
3630x82,0x42,0x26,0xc0,0x45,0x23,0x01,0x00
364
365# CHECK: s_buffer_load_dwordx2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x25,0xc0,0x00,0x00,0x00,0x00]
3660x82,0x02,0x25,0xc0,0x00,0x00,0x00,0x00
367
368# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s0 ; encoding: [0x02,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
3690x02,0x05,0x28,0xc0,0x00,0x00,0x00,0x00
370
371# CHECK: s_buffer_load_dwordx4 s[24:27], s[4:7], s0 ; encoding: [0x02,0x06,0x28,0xc0,0x00,0x00,0x00,0x00]
3720x02,0x06,0x28,0xc0,0x00,0x00,0x00,0x00
373
374# CHECK: s_buffer_load_dwordx4 s[96:99], s[4:7], s0 ; encoding: [0x02,0x18,0x28,0xc0,0x00,0x00,0x00,0x00]
3750x02,0x18,0x28,0xc0,0x00,0x00,0x00,0x00
376
377# CHECK: s_buffer_load_dwordx4 s[20:23], s[8:11], s0 ; encoding: [0x04,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
3780x04,0x05,0x28,0xc0,0x00,0x00,0x00,0x00
379
380# CHECK: s_buffer_load_dwordx4 s[20:23], s[96:99], s0 ; encoding: [0x30,0x05,0x28,0xc0,0x00,0x00,0x00,0x00]
3810x30,0x05,0x28,0xc0,0x00,0x00,0x00,0x00
382
383# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s101 ; encoding: [0x02,0x05,0x28,0xc0,0x65,0x00,0x00,0x00]
3840x02,0x05,0x28,0xc0,0x65,0x00,0x00,0x00
385
386# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], flat_scratch_lo ; encoding: [0x02,0x05,0x28,0xc0,0x66,0x00,0x00,0x00]
3870x02,0x05,0x28,0xc0,0x66,0x00,0x00,0x00
388
389# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], flat_scratch_hi ; encoding: [0x02,0x05,0x28,0xc0,0x67,0x00,0x00,0x00]
3900x02,0x05,0x28,0xc0,0x67,0x00,0x00,0x00
391
392# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x28,0xc0,0x6a,0x00,0x00,0x00]
3930x02,0x05,0x28,0xc0,0x6a,0x00,0x00,0x00
394
395# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x28,0xc0,0x6b,0x00,0x00,0x00]
3960x02,0x05,0x28,0xc0,0x6b,0x00,0x00,0x00
397
398# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], m0 ; encoding: [0x02,0x05,0x28,0xc0,0x7c,0x00,0x00,0x00]
3990x02,0x05,0x28,0xc0,0x7c,0x00,0x00,0x00
400
401# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], 0x0 ; encoding: [0x02,0x05,0x2a,0xc0,0x00,0x00,0x00,0x00]
4020x02,0x05,0x2a,0xc0,0x00,0x00,0x00,0x00
403
404# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s0 offset:0x12345 ; encoding: [0x02,0x45,0x2a,0xc0,0x45,0x23,0x01,0x00]
4050x02,0x45,0x2a,0xc0,0x45,0x23,0x01,0x00
406
407# CHECK: s_buffer_load_dwordx4 s[20:23], s[4:7], s0 glc ; encoding: [0x02,0x05,0x29,0xc0,0x00,0x00,0x00,0x00]
4080x02,0x05,0x29,0xc0,0x00,0x00,0x00,0x00
409
410# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s0 ; encoding: [0x02,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
4110x02,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00
412
413# CHECK: s_buffer_load_dwordx8 s[24:31], s[4:7], s0 ; encoding: [0x02,0x06,0x2c,0xc0,0x00,0x00,0x00,0x00]
4140x02,0x06,0x2c,0xc0,0x00,0x00,0x00,0x00
415
416# CHECK: s_buffer_load_dwordx8 s[92:99], s[4:7], s0 ; encoding: [0x02,0x17,0x2c,0xc0,0x00,0x00,0x00,0x00]
4170x02,0x17,0x2c,0xc0,0x00,0x00,0x00,0x00
418
419# CHECK: s_buffer_load_dwordx8 s[20:27], s[8:11], s0 ; encoding: [0x04,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
4200x04,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00
421
422# CHECK: s_buffer_load_dwordx8 s[20:27], s[96:99], s0 ; encoding: [0x30,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00]
4230x30,0x05,0x2c,0xc0,0x00,0x00,0x00,0x00
424
425# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s101 ; encoding: [0x02,0x05,0x2c,0xc0,0x65,0x00,0x00,0x00]
4260x02,0x05,0x2c,0xc0,0x65,0x00,0x00,0x00
427
428# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], flat_scratch_lo ; encoding: [0x02,0x05,0x2c,0xc0,0x66,0x00,0x00,0x00]
4290x02,0x05,0x2c,0xc0,0x66,0x00,0x00,0x00
430
431# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], flat_scratch_hi ; encoding: [0x02,0x05,0x2c,0xc0,0x67,0x00,0x00,0x00]
4320x02,0x05,0x2c,0xc0,0x67,0x00,0x00,0x00
433
434# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x2c,0xc0,0x6a,0x00,0x00,0x00]
4350x02,0x05,0x2c,0xc0,0x6a,0x00,0x00,0x00
436
437# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x2c,0xc0,0x6b,0x00,0x00,0x00]
4380x02,0x05,0x2c,0xc0,0x6b,0x00,0x00,0x00
439
440# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], m0 ; encoding: [0x02,0x05,0x2c,0xc0,0x7c,0x00,0x00,0x00]
4410x02,0x05,0x2c,0xc0,0x7c,0x00,0x00,0x00
442
443# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], 0x0 ; encoding: [0x02,0x05,0x2e,0xc0,0x00,0x00,0x00,0x00]
4440x02,0x05,0x2e,0xc0,0x00,0x00,0x00,0x00
445
446# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s0 offset:0x12345 ; encoding: [0x02,0x45,0x2e,0xc0,0x45,0x23,0x01,0x00]
4470x02,0x45,0x2e,0xc0,0x45,0x23,0x01,0x00
448
449# CHECK: s_buffer_load_dwordx8 s[20:27], s[4:7], s0 glc ; encoding: [0x02,0x05,0x2d,0xc0,0x00,0x00,0x00,0x00]
4500x02,0x05,0x2d,0xc0,0x00,0x00,0x00,0x00
451
452# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s0 ; encoding: [0x02,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
4530x02,0x05,0x30,0xc0,0x00,0x00,0x00,0x00
454
455# CHECK: s_buffer_load_dwordx16 s[24:39], s[4:7], s0 ; encoding: [0x02,0x06,0x30,0xc0,0x00,0x00,0x00,0x00]
4560x02,0x06,0x30,0xc0,0x00,0x00,0x00,0x00
457
458# CHECK: s_buffer_load_dwordx16 s[84:99], s[4:7], s0 ; encoding: [0x02,0x15,0x30,0xc0,0x00,0x00,0x00,0x00]
4590x02,0x15,0x30,0xc0,0x00,0x00,0x00,0x00
460
461# CHECK: s_buffer_load_dwordx16 s[20:35], s[8:11], s0 ; encoding: [0x04,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
4620x04,0x05,0x30,0xc0,0x00,0x00,0x00,0x00
463
464# CHECK: s_buffer_load_dwordx16 s[20:35], s[96:99], s0 ; encoding: [0x30,0x05,0x30,0xc0,0x00,0x00,0x00,0x00]
4650x30,0x05,0x30,0xc0,0x00,0x00,0x00,0x00
466
467# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s101 ; encoding: [0x02,0x05,0x30,0xc0,0x65,0x00,0x00,0x00]
4680x02,0x05,0x30,0xc0,0x65,0x00,0x00,0x00
469
470# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], flat_scratch_lo ; encoding: [0x02,0x05,0x30,0xc0,0x66,0x00,0x00,0x00]
4710x02,0x05,0x30,0xc0,0x66,0x00,0x00,0x00
472
473# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], flat_scratch_hi ; encoding: [0x02,0x05,0x30,0xc0,0x67,0x00,0x00,0x00]
4740x02,0x05,0x30,0xc0,0x67,0x00,0x00,0x00
475
476# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], vcc_lo ; encoding: [0x02,0x05,0x30,0xc0,0x6a,0x00,0x00,0x00]
4770x02,0x05,0x30,0xc0,0x6a,0x00,0x00,0x00
478
479# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], vcc_hi ; encoding: [0x02,0x05,0x30,0xc0,0x6b,0x00,0x00,0x00]
4800x02,0x05,0x30,0xc0,0x6b,0x00,0x00,0x00
481
482# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], m0 ; encoding: [0x02,0x05,0x30,0xc0,0x7c,0x00,0x00,0x00]
4830x02,0x05,0x30,0xc0,0x7c,0x00,0x00,0x00
484
485# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], 0x0 ; encoding: [0x02,0x05,0x32,0xc0,0x00,0x00,0x00,0x00]
4860x02,0x05,0x32,0xc0,0x00,0x00,0x00,0x00
487
488# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s0 offset:0x12345 ; encoding: [0x02,0x45,0x32,0xc0,0x45,0x23,0x01,0x00]
4890x02,0x45,0x32,0xc0,0x45,0x23,0x01,0x00
490
491# CHECK: s_buffer_load_dwordx16 s[20:35], s[4:7], s0 glc ; encoding: [0x02,0x05,0x31,0xc0,0x00,0x00,0x00,0x00]
4920x02,0x05,0x31,0xc0,0x00,0x00,0x00,0x00
493
494# CHECK: s_store_dword s1, s[4:5], s0            ; encoding: [0x42,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
4950x42,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
496
497# CHECK: s_store_dword s101, s[4:5], s0          ; encoding: [0x42,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
4980x42,0x19,0x40,0xc0,0x00,0x00,0x00,0x00
499
500# CHECK: s_store_dword flat_scratch_lo, s[4:5], s0 ; encoding: [0x82,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
5010x82,0x19,0x40,0xc0,0x00,0x00,0x00,0x00
502
503# CHECK: s_store_dword flat_scratch_hi, s[4:5], s0 ; encoding: [0xc2,0x19,0x40,0xc0,0x00,0x00,0x00,0x00]
5040xc2,0x19,0x40,0xc0,0x00,0x00,0x00,0x00
505
506# CHECK: s_store_dword vcc_lo, s[4:5], s0        ; encoding: [0x82,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00]
5070x82,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00
508
509# CHECK: s_store_dword vcc_hi, s[4:5], s0        ; encoding: [0xc2,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00]
5100xc2,0x1a,0x40,0xc0,0x00,0x00,0x00,0x00
511
512# CHECK: s_store_dword s1, s[6:7], s0            ; encoding: [0x43,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
5130x43,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
514
515# CHECK: s_store_dword s1, s[100:101], s0        ; encoding: [0x72,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
5160x72,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
517
518# CHECK: s_store_dword s1, flat_scratch, s0      ; encoding: [0x73,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
5190x73,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
520
521# CHECK: s_store_dword s1, vcc, s0               ; encoding: [0x75,0x00,0x40,0xc0,0x00,0x00,0x00,0x00]
5220x75,0x00,0x40,0xc0,0x00,0x00,0x00,0x00
523
524# CHECK: s_store_dword s1, s[4:5], s101          ; encoding: [0x42,0x00,0x40,0xc0,0x65,0x00,0x00,0x00]
5250x42,0x00,0x40,0xc0,0x65,0x00,0x00,0x00
526
527# The SGRP variants can alternatively be encoded with imm=0, soffset_en=1
528# and the offset register encoded in the soffset field with the offset
529# field being disregarded.
530# CHECK: s_store_dword s5, s[2:3], s64           ; encoding: [0x41,0x41,0x40,0xc0,0x00,0x00,0x00,0x80]
5310x41,0x41,0x40,0xc0,0x65,0x00,0x00,0x80
532
533# CHECK: s_store_dword s1, s[4:5], flat_scratch_lo ; encoding: [0x42,0x00,0x40,0xc0,0x66,0x00,0x00,0x00]
5340x42,0x00,0x40,0xc0,0x66,0x00,0x00,0x00
535
536# CHECK: s_store_dword s1, s[4:5], flat_scratch_hi ; encoding: [0x42,0x00,0x40,0xc0,0x67,0x00,0x00,0x00]
5370x42,0x00,0x40,0xc0,0x67,0x00,0x00,0x00
538
539# CHECK: s_store_dword s1, s[4:5], vcc_lo        ; encoding: [0x42,0x00,0x40,0xc0,0x6a,0x00,0x00,0x00]
5400x42,0x00,0x40,0xc0,0x6a,0x00,0x00,0x00
541
542# CHECK: s_store_dword s1, s[4:5], vcc_hi        ; encoding: [0x42,0x00,0x40,0xc0,0x6b,0x00,0x00,0x00]
5430x42,0x00,0x40,0xc0,0x6b,0x00,0x00,0x00
544
545# CHECK: s_store_dword s1, s[4:5], m0            ; encoding: [0x42,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00]
5460x42,0x00,0x40,0xc0,0x7c,0x00,0x00,0x00
547
548# CHECK: s_store_dword s1, s[4:5], 0x0           ; encoding: [0x42,0x00,0x42,0xc0,0x00,0x00,0x00,0x00]
5490x42,0x00,0x42,0xc0,0x00,0x00,0x00,0x00
550
551# CHECK: s_store_dword s1, s[4:5], s7 offset:0x12345 ; encoding: [0x42,0x40,0x42,0xc0,0x45,0x23,0x01,0x0e]
5520x42,0x40,0x42,0xc0,0x45,0x23,0x01,0x0e
553
554# SP3 prefers to decode instructions with imm=1 and soffset_en=1 to the
555# form with the 'offset:' modifier, even if the offset is 0.
556# CHECK: s_store_dword s5, s[2:3], s0 offset:0x0 ; encoding: [0x41,0x41,0x42,0xc0,0x00,0x00,0x00,0x00]
5570x41,0x41,0x42,0xc0,0x00,0x00,0x00,0x00
558
559# CHECK: s_store_dword s1, s[4:5], s0 glc        ; encoding: [0x42,0x00,0x41,0xc0,0x00,0x00,0x00,0x00]
5600x42,0x00,0x41,0xc0,0x00,0x00,0x00,0x00
561
562# CHECK: s_store_dwordx2 s[2:3], s[4:5], s0      ; encoding: [0x82,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
5630x82,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
564
565# CHECK: s_store_dwordx2 s[4:5], s[4:5], s0      ; encoding: [0x02,0x01,0x44,0xc0,0x00,0x00,0x00,0x00]
5660x02,0x01,0x44,0xc0,0x00,0x00,0x00,0x00
567
568# CHECK: s_store_dwordx2 s[100:101], s[4:5], s0  ; encoding: [0x02,0x19,0x44,0xc0,0x00,0x00,0x00,0x00]
5690x02,0x19,0x44,0xc0,0x00,0x00,0x00,0x00
570
571# CHECK: s_store_dwordx2 flat_scratch, s[4:5], s0 ; encoding: [0x82,0x19,0x44,0xc0,0x00,0x00,0x00,0x00]
5720x82,0x19,0x44,0xc0,0x00,0x00,0x00,0x00
573
574# CHECK: s_store_dwordx2 vcc, s[4:5], s0         ; encoding: [0x82,0x1a,0x44,0xc0,0x00,0x00,0x00,0x00]
5750x82,0x1a,0x44,0xc0,0x00,0x00,0x00,0x00
576
577# CHECK: s_store_dwordx2 s[2:3], s[6:7], s0      ; encoding: [0x83,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
5780x83,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
579
580# CHECK: s_store_dwordx2 s[2:3], s[100:101], s0  ; encoding: [0xb2,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
5810xb2,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
582
583# CHECK: s_store_dwordx2 s[2:3], flat_scratch, s0 ; encoding: [0xb3,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
5840xb3,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
585
586# CHECK: s_store_dwordx2 s[2:3], vcc, s0         ; encoding: [0xb5,0x00,0x44,0xc0,0x00,0x00,0x00,0x00]
5870xb5,0x00,0x44,0xc0,0x00,0x00,0x00,0x00
588
589# CHECK: s_store_dwordx2 s[2:3], s[4:5], s101    ; encoding: [0x82,0x00,0x44,0xc0,0x65,0x00,0x00,0x00]
5900x82,0x00,0x44,0xc0,0x65,0x00,0x00,0x00
591
592# CHECK: s_store_dwordx2 s[2:3], s[4:5], flat_scratch_lo ; encoding: [0x82,0x00,0x44,0xc0,0x66,0x00,0x00,0x00]
5930x82,0x00,0x44,0xc0,0x66,0x00,0x00,0x00
594
595# CHECK: s_store_dwordx2 s[2:3], s[4:5], flat_scratch_hi ; encoding: [0x82,0x00,0x44,0xc0,0x67,0x00,0x00,0x00]
5960x82,0x00,0x44,0xc0,0x67,0x00,0x00,0x00
597
598# CHECK: s_store_dwordx2 s[2:3], s[4:5], vcc_lo  ; encoding: [0x82,0x00,0x44,0xc0,0x6a,0x00,0x00,0x00]
5990x82,0x00,0x44,0xc0,0x6a,0x00,0x00,0x00
600
601# CHECK: s_store_dwordx2 s[2:3], s[4:5], vcc_hi  ; encoding: [0x82,0x00,0x44,0xc0,0x6b,0x00,0x00,0x00]
6020x82,0x00,0x44,0xc0,0x6b,0x00,0x00,0x00
603
604# CHECK: s_store_dwordx2 s[2:3], s[4:5], m0      ; encoding: [0x82,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00]
6050x82,0x00,0x44,0xc0,0x7c,0x00,0x00,0x00
606
607# CHECK: s_store_dwordx2 s[2:3], s[4:5], 0x0     ; encoding: [0x82,0x00,0x46,0xc0,0x00,0x00,0x00,0x00]
6080x82,0x00,0x46,0xc0,0x00,0x00,0x00,0x00
609
610# CHECK: s_store_dwordx2 s[2:3], s[4:5], s0 glc  ; encoding: [0x82,0x00,0x45,0xc0,0x00,0x00,0x00,0x00]
6110x82,0x00,0x45,0xc0,0x00,0x00,0x00,0x00
612
613# CHECK: s_store_dwordx4 s[4:7], s[4:5], s0      ; encoding: [0x02,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
6140x02,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
615
616# CHECK: s_store_dwordx4 s[8:11], s[4:5], s0     ; encoding: [0x02,0x02,0x48,0xc0,0x00,0x00,0x00,0x00]
6170x02,0x02,0x48,0xc0,0x00,0x00,0x00,0x00
618
619# CHECK: s_store_dwordx4 s[96:99], s[4:5], s0    ; encoding: [0x02,0x18,0x48,0xc0,0x00,0x00,0x00,0x00]
6200x02,0x18,0x48,0xc0,0x00,0x00,0x00,0x00
621
622# CHECK: s_store_dwordx4 s[4:7], s[6:7], s0      ; encoding: [0x03,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
6230x03,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
624
625# CHECK: s_store_dwordx4 s[4:7], s[100:101], s0  ; encoding: [0x32,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
6260x32,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
627
628# CHECK: s_store_dwordx4 s[4:7], flat_scratch, s0 ; encoding: [0x33,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
6290x33,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
630
631# CHECK: s_store_dwordx4 s[4:7], vcc, s0         ; encoding: [0x35,0x01,0x48,0xc0,0x00,0x00,0x00,0x00]
6320x35,0x01,0x48,0xc0,0x00,0x00,0x00,0x00
633
634# CHECK: s_store_dwordx4 s[4:7], s[4:5], s101    ; encoding: [0x02,0x01,0x48,0xc0,0x65,0x00,0x00,0x00]
6350x02,0x01,0x48,0xc0,0x65,0x00,0x00,0x00
636
637# CHECK: s_store_dwordx4 s[4:7], s[4:5], flat_scratch_lo ; encoding: [0x02,0x01,0x48,0xc0,0x66,0x00,0x00,0x00]
6380x02,0x01,0x48,0xc0,0x66,0x00,0x00,0x00
639
640# CHECK: s_store_dwordx4 s[4:7], s[4:5], flat_scratch_hi ; encoding: [0x02,0x01,0x48,0xc0,0x67,0x00,0x00,0x00]
6410x02,0x01,0x48,0xc0,0x67,0x00,0x00,0x00
642
643# CHECK: s_store_dwordx4 s[4:7], s[4:5], vcc_lo  ; encoding: [0x02,0x01,0x48,0xc0,0x6a,0x00,0x00,0x00]
6440x02,0x01,0x48,0xc0,0x6a,0x00,0x00,0x00
645
646# CHECK: s_store_dwordx4 s[4:7], s[4:5], vcc_hi  ; encoding: [0x02,0x01,0x48,0xc0,0x6b,0x00,0x00,0x00]
6470x02,0x01,0x48,0xc0,0x6b,0x00,0x00,0x00
648
649# CHECK: s_store_dwordx4 s[4:7], s[4:5], m0      ; encoding: [0x02,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00]
6500x02,0x01,0x48,0xc0,0x7c,0x00,0x00,0x00
651
652# CHECK: s_store_dwordx4 s[4:7], s[4:5], 0x0     ; encoding: [0x02,0x01,0x4a,0xc0,0x00,0x00,0x00,0x00]
6530x02,0x01,0x4a,0xc0,0x00,0x00,0x00,0x00
654
655# CHECK: s_store_dwordx4 s[4:7], s[4:5], s0 glc  ; encoding: [0x02,0x01,0x49,0xc0,0x00,0x00,0x00,0x00]
6560x02,0x01,0x49,0xc0,0x00,0x00,0x00,0x00
657
658# CHECK: s_buffer_store_dword s1, s[8:11], s0    ; encoding: [0x44,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
6590x44,0x00,0x60,0xc0,0x00,0x00,0x00,0x00
660
661# CHECK: s_buffer_store_dword s101, s[8:11], s0  ; encoding: [0x44,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
6620x44,0x19,0x60,0xc0,0x00,0x00,0x00,0x00
663
664# CHECK: s_buffer_store_dword flat_scratch_lo, s[8:11], s0 ; encoding: [0x84,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
6650x84,0x19,0x60,0xc0,0x00,0x00,0x00,0x00
666
667# CHECK: s_buffer_store_dword flat_scratch_hi, s[8:11], s0 ; encoding: [0xc4,0x19,0x60,0xc0,0x00,0x00,0x00,0x00]
6680xc4,0x19,0x60,0xc0,0x00,0x00,0x00,0x00
669
670# CHECK: s_buffer_store_dword vcc_lo, s[8:11], s0 ; encoding: [0x84,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00]
6710x84,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00
672
673# CHECK: s_buffer_store_dword vcc_hi, s[8:11], s0 ; encoding: [0xc4,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00]
6740xc4,0x1a,0x60,0xc0,0x00,0x00,0x00,0x00
675
676# CHECK: s_buffer_store_dword s1, s[12:15], s0   ; encoding: [0x46,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
6770x46,0x00,0x60,0xc0,0x00,0x00,0x00,0x00
678
679# CHECK: s_buffer_store_dword s1, s[96:99], s0   ; encoding: [0x70,0x00,0x60,0xc0,0x00,0x00,0x00,0x00]
6800x70,0x00,0x60,0xc0,0x00,0x00,0x00,0x00
681
682# CHECK: s_buffer_store_dword s1, s[8:11], s101  ; encoding: [0x44,0x00,0x60,0xc0,0x65,0x00,0x00,0x00]
6830x44,0x00,0x60,0xc0,0x65,0x00,0x00,0x00
684
685# CHECK: s_buffer_store_dword s1, s[8:11], flat_scratch_lo ; encoding: [0x44,0x00,0x60,0xc0,0x66,0x00,0x00,0x00]
6860x44,0x00,0x60,0xc0,0x66,0x00,0x00,0x00
687
688# CHECK: s_buffer_store_dword s1, s[8:11], flat_scratch_hi ; encoding: [0x44,0x00,0x60,0xc0,0x67,0x00,0x00,0x00]
6890x44,0x00,0x60,0xc0,0x67,0x00,0x00,0x00
690
691# CHECK: s_buffer_store_dword s1, s[8:11], vcc_lo ; encoding: [0x44,0x00,0x60,0xc0,0x6a,0x00,0x00,0x00]
6920x44,0x00,0x60,0xc0,0x6a,0x00,0x00,0x00
693
694# CHECK: s_buffer_store_dword s1, s[8:11], vcc_hi ; encoding: [0x44,0x00,0x60,0xc0,0x6b,0x00,0x00,0x00]
6950x44,0x00,0x60,0xc0,0x6b,0x00,0x00,0x00
696
697# CHECK: s_buffer_store_dword s1, s[8:11], m0    ; encoding: [0x44,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00]
6980x44,0x00,0x60,0xc0,0x7c,0x00,0x00,0x00
699
700# CHECK: s_buffer_store_dword s1, s[8:11], 0x0   ; encoding: [0x44,0x00,0x62,0xc0,0x00,0x00,0x00,0x00]
7010x44,0x00,0x62,0xc0,0x00,0x00,0x00,0x00
702
703# CHECK: s_buffer_store_dword s1, s[8:11], s0 glc ; encoding: [0x44,0x00,0x61,0xc0,0x00,0x00,0x00,0x00]
7040x44,0x00,0x61,0xc0,0x00,0x00,0x00,0x00
705
706# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], s0 ; encoding: [0x84,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
7070x84,0x00,0x64,0xc0,0x00,0x00,0x00,0x00
708
709# CHECK: s_buffer_store_dwordx2 s[4:5], s[8:11], s0 ; encoding: [0x04,0x01,0x64,0xc0,0x00,0x00,0x00,0x00]
7100x04,0x01,0x64,0xc0,0x00,0x00,0x00,0x00
711
712# CHECK: s_buffer_store_dwordx2 s[100:101], s[8:11], s0 ; encoding: [0x04,0x19,0x64,0xc0,0x00,0x00,0x00,0x00]
7130x04,0x19,0x64,0xc0,0x00,0x00,0x00,0x00
714
715# CHECK: s_buffer_store_dwordx2 flat_scratch, s[8:11], s0 ; encoding: [0x84,0x19,0x64,0xc0,0x00,0x00,0x00,0x00]
7160x84,0x19,0x64,0xc0,0x00,0x00,0x00,0x00
717
718# CHECK: s_buffer_store_dwordx2 vcc, s[8:11], s0 ; encoding: [0x84,0x1a,0x64,0xc0,0x00,0x00,0x00,0x00]
7190x84,0x1a,0x64,0xc0,0x00,0x00,0x00,0x00
720
721# CHECK: s_buffer_store_dwordx2 s[2:3], s[12:15], s0 ; encoding: [0x86,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
7220x86,0x00,0x64,0xc0,0x00,0x00,0x00,0x00
723
724# CHECK: s_buffer_store_dwordx2 s[2:3], s[96:99], s0 ; encoding: [0xb0,0x00,0x64,0xc0,0x00,0x00,0x00,0x00]
7250xb0,0x00,0x64,0xc0,0x00,0x00,0x00,0x00
726
727# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], s101 ; encoding: [0x84,0x00,0x64,0xc0,0x65,0x00,0x00,0x00]
7280x84,0x00,0x64,0xc0,0x65,0x00,0x00,0x00
729
730# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], flat_scratch_lo ; encoding: [0x84,0x00,0x64,0xc0,0x66,0x00,0x00,0x00]
7310x84,0x00,0x64,0xc0,0x66,0x00,0x00,0x00
732
733# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], flat_scratch_hi ; encoding: [0x84,0x00,0x64,0xc0,0x67,0x00,0x00,0x00]
7340x84,0x00,0x64,0xc0,0x67,0x00,0x00,0x00
735
736# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], vcc_lo ; encoding: [0x84,0x00,0x64,0xc0,0x6a,0x00,0x00,0x00]
7370x84,0x00,0x64,0xc0,0x6a,0x00,0x00,0x00
738
739# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], vcc_hi ; encoding: [0x84,0x00,0x64,0xc0,0x6b,0x00,0x00,0x00]
7400x84,0x00,0x64,0xc0,0x6b,0x00,0x00,0x00
741
742# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], m0 ; encoding: [0x84,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00]
7430x84,0x00,0x64,0xc0,0x7c,0x00,0x00,0x00
744
745# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], 0x0 ; encoding: [0x84,0x00,0x66,0xc0,0x00,0x00,0x00,0x00]
7460x84,0x00,0x66,0xc0,0x00,0x00,0x00,0x00
747
748# CHECK: s_buffer_store_dwordx2 s[2:3], s[8:11], s0 glc ; encoding: [0x84,0x00,0x65,0xc0,0x00,0x00,0x00,0x00]
7490x84,0x00,0x65,0xc0,0x00,0x00,0x00,0x00
750
751# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], s0 ; encoding: [0x04,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
7520x04,0x01,0x68,0xc0,0x00,0x00,0x00,0x00
753
754# CHECK: s_buffer_store_dwordx4 s[8:11], s[8:11], s0 ; encoding: [0x04,0x02,0x68,0xc0,0x00,0x00,0x00,0x00]
7550x04,0x02,0x68,0xc0,0x00,0x00,0x00,0x00
756
757# CHECK: s_buffer_store_dwordx4 s[96:99], s[8:11], s0 ; encoding: [0x04,0x18,0x68,0xc0,0x00,0x00,0x00,0x00]
7580x04,0x18,0x68,0xc0,0x00,0x00,0x00,0x00
759
760# CHECK: s_buffer_store_dwordx4 s[4:7], s[12:15], s0 ; encoding: [0x06,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
7610x06,0x01,0x68,0xc0,0x00,0x00,0x00,0x00
762
763# CHECK: s_buffer_store_dwordx4 s[4:7], s[96:99], s0 ; encoding: [0x30,0x01,0x68,0xc0,0x00,0x00,0x00,0x00]
7640x30,0x01,0x68,0xc0,0x00,0x00,0x00,0x00
765
766# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], s101 ; encoding: [0x04,0x01,0x68,0xc0,0x65,0x00,0x00,0x00]
7670x04,0x01,0x68,0xc0,0x65,0x00,0x00,0x00
768
769# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], flat_scratch_lo ; encoding: [0x04,0x01,0x68,0xc0,0x66,0x00,0x00,0x00]
7700x04,0x01,0x68,0xc0,0x66,0x00,0x00,0x00
771
772# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], flat_scratch_hi ; encoding: [0x04,0x01,0x68,0xc0,0x67,0x00,0x00,0x00]
7730x04,0x01,0x68,0xc0,0x67,0x00,0x00,0x00
774
775# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], vcc_lo ; encoding: [0x04,0x01,0x68,0xc0,0x6a,0x00,0x00,0x00]
7760x04,0x01,0x68,0xc0,0x6a,0x00,0x00,0x00
777
778# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], vcc_hi ; encoding: [0x04,0x01,0x68,0xc0,0x6b,0x00,0x00,0x00]
7790x04,0x01,0x68,0xc0,0x6b,0x00,0x00,0x00
780
781# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], m0 ; encoding: [0x04,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00]
7820x04,0x01,0x68,0xc0,0x7c,0x00,0x00,0x00
783
784# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], 0x0 ; encoding: [0x04,0x01,0x6a,0xc0,0x00,0x00,0x00,0x00]
7850x04,0x01,0x6a,0xc0,0x00,0x00,0x00,0x00
786
787# CHECK: s_buffer_store_dwordx4 s[4:7], s[8:11], s0 glc ; encoding: [0x04,0x01,0x69,0xc0,0x00,0x00,0x00,0x00]
7880x04,0x01,0x69,0xc0,0x00,0x00,0x00,0x00
789
790# CHECK: s_dcache_inv                            ; encoding: [0x00,0x00,0x80,0xc0,0x00,0x00,0x00,0x00]
7910x00,0x00,0x80,0xc0,0x00,0x00,0x00,0x00
792
793# CHECK: s_dcache_wb                             ; encoding: [0x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00]
7940x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00
795
796# CHECK: s_dcache_inv_vol                        ; encoding: [0x00,0x00,0x88,0xc0,0x00,0x00,0x00,0x00]
7970x00,0x00,0x88,0xc0,0x00,0x00,0x00,0x00
798
799# CHECK: s_dcache_wb_vol                         ; encoding: [0x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00]
8000x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00
801
802# CHECK: s_memtime s[10:11]                      ; encoding: [0x80,0x02,0x90,0xc0,0x00,0x00,0x00,0x00]
8030x80,0x02,0x90,0xc0,0x00,0x00,0x00,0x00
804
805# CHECK: s_memtime s[12:13]                      ; encoding: [0x00,0x03,0x90,0xc0,0x00,0x00,0x00,0x00]
8060x00,0x03,0x90,0xc0,0x00,0x00,0x00,0x00
807
808# CHECK: s_memtime s[100:101]                    ; encoding: [0x00,0x19,0x90,0xc0,0x00,0x00,0x00,0x00]
8090x00,0x19,0x90,0xc0,0x00,0x00,0x00,0x00
810
811# CHECK: s_memtime flat_scratch                  ; encoding: [0x80,0x19,0x90,0xc0,0x00,0x00,0x00,0x00]
8120x80,0x19,0x90,0xc0,0x00,0x00,0x00,0x00
813
814# CHECK: s_memtime vcc                           ; encoding: [0x80,0x1a,0x90,0xc0,0x00,0x00,0x00,0x00]
8150x80,0x1a,0x90,0xc0,0x00,0x00,0x00,0x00
816
817# CHECK: s_memrealtime s[10:11]                  ; encoding: [0x80,0x02,0x94,0xc0,0x00,0x00,0x00,0x00]
8180x80,0x02,0x94,0xc0,0x00,0x00,0x00,0x00
819
820# CHECK: s_memrealtime s[12:13]                  ; encoding: [0x00,0x03,0x94,0xc0,0x00,0x00,0x00,0x00]
8210x00,0x03,0x94,0xc0,0x00,0x00,0x00,0x00
822
823# CHECK: s_memrealtime s[100:101]                ; encoding: [0x00,0x19,0x94,0xc0,0x00,0x00,0x00,0x00]
8240x00,0x19,0x94,0xc0,0x00,0x00,0x00,0x00
825
826# CHECK: s_memrealtime flat_scratch              ; encoding: [0x80,0x19,0x94,0xc0,0x00,0x00,0x00,0x00]
8270x80,0x19,0x94,0xc0,0x00,0x00,0x00,0x00
828
829# CHECK: s_memrealtime vcc                       ; encoding: [0x80,0x1a,0x94,0xc0,0x00,0x00,0x00,0x00]
8300x80,0x1a,0x94,0xc0,0x00,0x00,0x00,0x00
831