1 // RUN: llvm-mc -arch=amdgcn -show-encoding %s | FileCheck %s
2 // RUN: llvm-mc -arch=amdgcn -mcpu=SI -show-encoding %s | FileCheck %s
4 //===----------------------------------------------------------------------===//
5 // Test for different operand combinations
6 //===----------------------------------------------------------------------===//
8 //===----------------------------------------------------------------------===//
9 // load - immediate offset only
10 //===----------------------------------------------------------------------===//
12 buffer_load_dword v1, s[4:7], s1
13 // CHECK: buffer_load_dword v1, s[4:7], s1 ; encoding: [0x00,0x00,0x30,0xe0,0x00,0x01,0x01,0x01]
15 buffer_load_dword v1, s[4:7], s1 offset:4
16 // CHECK: buffer_load_dword v1, s[4:7], s1 offset:4 ; encoding: [0x04,0x00,0x30,0xe0,0x00,0x01,0x01,0x01]
18 buffer_load_dword v1, s[4:7], s1 offset:4 glc
19 // CHECK: buffer_load_dword v1, s[4:7], s1 offset:4 glc ; encoding: [0x04,0x40,0x30,0xe0,0x00,0x01,0x01,0x01]
21 buffer_load_dword v1, s[4:7], s1 offset:4 slc
22 // CHECK: buffer_load_dword v1, s[4:7], s1 offset:4 slc ; encoding: [0x04,0x00,0x30,0xe0,0x00,0x01,0x41,0x01]
24 buffer_load_dword v1, s[4:7], s1 offset:4 tfe
25 // CHECK: buffer_load_dword v1, s[4:7], s1 offset:4 tfe ; encoding: [0x04,0x00,0x30,0xe0,0x00,0x01,0x81,0x01]
27 buffer_load_dword v1, s[4:7], s1 tfe glc
28 // CHECK: buffer_load_dword v1, s[4:7], s1 glc tfe ; encoding: [0x00,0x40,0x30,0xe0,0x00,0x01,0x81,0x01]
30 buffer_load_dword v1, s[4:7], s1 offset:4 glc tfe slc
31 // CHECK: buffer_load_dword v1, s[4:7], s1 offset:4 glc slc tfe ; encoding: [0x04,0x40,0x30,0xe0,0x00,0x01,0xc1,0x01]
33 buffer_load_dword v1, s[4:7], s1 glc tfe slc offset:4
34 // CHECK: buffer_load_dword v1, s[4:7], s1 offset:4 glc slc tfe ; encoding: [0x04,0x40,0x30,0xe0,0x00,0x01,0xc1,0x01]
36 //===----------------------------------------------------------------------===//
38 //===----------------------------------------------------------------------===//
40 buffer_load_dword v1, v2, s[4:7], s1 offen
41 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 offen ; encoding: [0x00,0x10,0x30,0xe0,0x02,0x01,0x01,0x01]
43 buffer_load_dword v1, v2, s[4:7], s1 offen offset:4
44 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 ; encoding: [0x04,0x10,0x30,0xe0,0x02,0x01,0x01,0x01]
46 buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc
47 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc ; encoding: [0x04,0x50,0x30,0xe0,0x02,0x01,0x01,0x01]
49 buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 slc
50 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 slc ; encoding: [0x04,0x10,0x30,0xe0,0x02,0x01,0x41,0x01]
52 buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 tfe
53 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 tfe ; encoding: [0x04,0x10,0x30,0xe0,0x02,0x01,0x81,0x01]
55 buffer_load_dword v1, v2, s[4:7], s1 offen tfe glc
56 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 offen glc tfe ; encoding: [0x00,0x50,0x30,0xe0,0x02,0x01,0x81,0x01]
58 buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc tfe slc
59 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc slc tfe ; encoding: [0x04,0x50,0x30,0xe0,0x02,0x01,0xc1,0x01]
61 buffer_load_dword v1, v2, s[4:7], s1 offen glc tfe slc offset:4
62 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 offen offset:4 glc slc tfe ; encoding: [0x04,0x50,0x30,0xe0,0x02,0x01,0xc1,0x01]
64 //===----------------------------------------------------------------------===//
66 //===----------------------------------------------------------------------===//
68 buffer_load_dword v1, v2, s[4:7], s1 idxen
69 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 idxen ; encoding: [0x00,0x20,0x30,0xe0,0x02,0x01,0x01,0x01]
71 buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4
72 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 ; encoding: [0x04,0x20,0x30,0xe0,0x02,0x01,0x01,0x01]
74 buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc
75 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc ; encoding: [0x04,0x60,0x30,0xe0,0x02,0x01,0x01,0x01]
77 buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 slc
78 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 slc ; encoding: [0x04,0x20,0x30,0xe0,0x02,0x01,0x41,0x01]
80 buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 tfe
81 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 tfe ; encoding: [0x04,0x20,0x30,0xe0,0x02,0x01,0x81,0x01]
83 buffer_load_dword v1, v2, s[4:7], s1 idxen tfe glc
84 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 idxen glc tfe ; encoding: [0x00,0x60,0x30,0xe0,0x02,0x01,0x81,0x01]
86 buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc tfe slc
87 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc slc tfe ; encoding: [0x04,0x60,0x30,0xe0,0x02,0x01,0xc1,0x01]
89 buffer_load_dword v1, v2, s[4:7], s1 idxen glc tfe slc offset:4
90 // CHECK: buffer_load_dword v1, v2, s[4:7], s1 idxen offset:4 glc slc tfe ; encoding: [0x04,0x60,0x30,0xe0,0x02,0x01,0xc1,0x01]
92 //===----------------------------------------------------------------------===//
93 // load - vgpr index and offset
94 //===----------------------------------------------------------------------===//
96 buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen
97 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen ; encoding: [0x00,0x30,0x30,0xe0,0x02,0x01,0x01,0x01]
99 buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4
100 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 ; encoding: [0x04,0x30,0x30,0xe0,0x02,0x01,0x01,0x01]
102 buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc
103 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc ; encoding: [0x04,0x70,0x30,0xe0,0x02,0x01,0x01,0x01]
105 buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc
106 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc ; encoding: [0x04,0x30,0x30,0xe0,0x02,0x01,0x41,0x01]
108 buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 tfe
109 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 tfe ; encoding: [0x04,0x30,0x30,0xe0,0x02,0x01,0x81,0x01]
111 buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen tfe glc
112 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen glc tfe ; encoding: [0x00,0x70,0x30,0xe0,0x02,0x01,0x81,0x01]
114 buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc tfe slc
115 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc slc tfe ; encoding: [0x04,0x70,0x30,0xe0,0x02,0x01,0xc1,0x01]
117 buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen glc tfe slc offset:4
118 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc slc tfe ; encoding: [0x04,0x70,0x30,0xe0,0x02,0x01,0xc1,0x01]
120 //===----------------------------------------------------------------------===//
122 //===----------------------------------------------------------------------===//
124 buffer_load_dword v1, v[2:3], s[4:7], s1 addr64
125 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 ; encoding: [0x00,0x80,0x30,0xe0,0x02,0x01,0x01,0x01]
127 buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4
128 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x01,0x01]
130 buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc
131 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc ; encoding: [0x04,0xc0,0x30,0xe0,0x02,0x01,0x01,0x01]
133 buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc
134 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x41,0x01]
136 buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 tfe
137 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 tfe ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x81,0x01]
139 buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 tfe glc
140 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 glc tfe ; encoding: [0x00,0xc0,0x30,0xe0,0x02,0x01,0x81,0x01]
142 buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc tfe slc
143 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe ; encoding: [0x04,0xc0,0x30,0xe0,0x02,0x01,0xc1,0x01]
145 buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 glc tfe slc offset:4
146 // CHECK: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe ; encoding: [0x04,0xc0,0x30,0xe0,0x02,0x01,0xc1,0x01]
148 //===----------------------------------------------------------------------===//
149 // store - immediate offset only
150 //===----------------------------------------------------------------------===//
152 buffer_store_dword v1, s[4:7], s1
153 // CHECK: buffer_store_dword v1, s[4:7], s1 ; encoding: [0x00,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
155 buffer_store_dword v1, s[4:7], s1 offset:4
156 // CHECK: buffer_store_dword v1, s[4:7], s1 offset:4 ; encoding: [0x04,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
158 buffer_store_dword v1, s[4:7], s1 offset:4 glc
159 // CHECK: buffer_store_dword v1, s[4:7], s1 offset:4 glc ; encoding: [0x04,0x40,0x70,0xe0,0x00,0x01,0x01,0x01]
161 buffer_store_dword v1, s[4:7], s1 offset:4 slc
162 // CHECK: buffer_store_dword v1, s[4:7], s1 offset:4 slc ; encoding: [0x04,0x00,0x70,0xe0,0x00,0x01,0x41,0x01]
164 buffer_store_dword v1, s[4:7], s1 offset:4 tfe
165 // CHECK: buffer_store_dword v1, s[4:7], s1 offset:4 tfe ; encoding: [0x04,0x00,0x70,0xe0,0x00,0x01,0x81,0x01]
167 buffer_store_dword v1, s[4:7], s1 tfe glc
168 // CHECK: buffer_store_dword v1, s[4:7], s1 glc tfe ; encoding: [0x00,0x40,0x70,0xe0,0x00,0x01,0x81,0x01]
170 buffer_store_dword v1, s[4:7], s1 offset:4 glc tfe slc
171 // CHECK: buffer_store_dword v1, s[4:7], s1 offset:4 glc slc tfe ; encoding: [0x04,0x40,0x70,0xe0,0x00,0x01,0xc1,0x01]
173 buffer_store_dword v1, s[4:7], s1 glc tfe slc offset:4
174 // CHECK: buffer_store_dword v1, s[4:7], s1 offset:4 glc slc tfe ; encoding: [0x04,0x40,0x70,0xe0,0x00,0x01,0xc1,0x01]
176 //===----------------------------------------------------------------------===//
177 // store - vgpr offset
178 //===----------------------------------------------------------------------===//
180 buffer_store_dword v1, v2, s[4:7], s1 offen
181 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 offen ; encoding: [0x00,0x10,0x70,0xe0,0x02,0x01,0x01,0x01]
183 buffer_store_dword v1, v2, s[4:7], s1 offen offset:4
184 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 ; encoding: [0x04,0x10,0x70,0xe0,0x02,0x01,0x01,0x01]
186 buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc
187 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc ; encoding: [0x04,0x50,0x70,0xe0,0x02,0x01,0x01,0x01]
189 buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 slc
190 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 slc ; encoding: [0x04,0x10,0x70,0xe0,0x02,0x01,0x41,0x01]
192 buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 tfe
193 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 tfe ; encoding: [0x04,0x10,0x70,0xe0,0x02,0x01,0x81,0x01]
195 buffer_store_dword v1, v2, s[4:7], s1 offen tfe glc
196 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 offen glc tfe ; encoding: [0x00,0x50,0x70,0xe0,0x02,0x01,0x81,0x01]
198 buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc tfe slc
199 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc slc tfe ; encoding: [0x04,0x50,0x70,0xe0,0x02,0x01,0xc1,0x01]
201 buffer_store_dword v1, v2, s[4:7], s1 offen glc tfe slc offset:4
202 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 offen offset:4 glc slc tfe ; encoding: [0x04,0x50,0x70,0xe0,0x02,0x01,0xc1,0x01]
204 //===----------------------------------------------------------------------===//
205 // store - vgpr index
206 //===----------------------------------------------------------------------===//
208 buffer_store_dword v1, v2, s[4:7], s1 idxen
209 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 idxen ; encoding: [0x00,0x20,0x70,0xe0,0x02,0x01,0x01,0x01]
211 buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4
212 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 ; encoding: [0x04,0x20,0x70,0xe0,0x02,0x01,0x01,0x01]
214 buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc
215 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc ; encoding: [0x04,0x60,0x70,0xe0,0x02,0x01,0x01,0x01]
217 buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 slc
218 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 slc ; encoding: [0x04,0x20,0x70,0xe0,0x02,0x01,0x41,0x01]
220 buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 tfe
221 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 tfe ; encoding: [0x04,0x20,0x70,0xe0,0x02,0x01,0x81,0x01]
223 buffer_store_dword v1, v2, s[4:7], s1 idxen tfe glc
224 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 idxen glc tfe ; encoding: [0x00,0x60,0x70,0xe0,0x02,0x01,0x81,0x01]
226 buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc tfe slc
227 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc slc tfe ; encoding: [0x04,0x60,0x70,0xe0,0x02,0x01,0xc1,0x01]
229 buffer_store_dword v1, v2, s[4:7], s1 idxen glc tfe slc offset:4
230 // CHECK: buffer_store_dword v1, v2, s[4:7], s1 idxen offset:4 glc slc tfe ; encoding: [0x04,0x60,0x70,0xe0,0x02,0x01,0xc1,0x01]
232 //===----------------------------------------------------------------------===//
233 // store - vgpr index and offset
234 //===----------------------------------------------------------------------===//
236 buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen
237 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen ; encoding: [0x00,0x30,0x70,0xe0,0x02,0x01,0x01,0x01]
239 buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4
240 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 ; encoding: [0x04,0x30,0x70,0xe0,0x02,0x01,0x01,0x01]
242 buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc
243 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc ; encoding: [0x04,0x70,0x70,0xe0,0x02,0x01,0x01,0x01]
245 buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc
246 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc ; encoding: [0x04,0x30,0x70,0xe0,0x02,0x01,0x41,0x01]
248 buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 tfe
249 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 tfe ; encoding: [0x04,0x30,0x70,0xe0,0x02,0x01,0x81,0x01]
251 buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen tfe glc
252 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen glc tfe ; encoding: [0x00,0x70,0x70,0xe0,0x02,0x01,0x81,0x01]
254 buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc tfe slc
255 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc slc tfe ; encoding: [0x04,0x70,0x70,0xe0,0x02,0x01,0xc1,0x01]
257 buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen glc tfe slc offset:4
258 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 glc slc tfe ; encoding: [0x04,0x70,0x70,0xe0,0x02,0x01,0xc1,0x01]
260 //===----------------------------------------------------------------------===//
262 //===----------------------------------------------------------------------===//
264 buffer_store_dword v1, v[2:3], s[4:7], s1 addr64
265 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 ; encoding: [0x00,0x80,0x70,0xe0,0x02,0x01,0x01,0x01]
267 buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4
268 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 ; encoding: [0x04,0x80,0x70,0xe0,0x02,0x01,0x01,0x01]
270 buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc
271 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc ; encoding: [0x04,0xc0,0x70,0xe0,0x02,0x01,0x01,0x01]
273 buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc
274 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc ; encoding: [0x04,0x80,0x70,0xe0,0x02,0x01,0x41,0x01]
276 buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 tfe
277 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 tfe ; encoding: [0x04,0x80,0x70,0xe0,0x02,0x01,0x81,0x01]
279 buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 tfe glc
280 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 glc tfe ; encoding: [0x00,0xc0,0x70,0xe0,0x02,0x01,0x81,0x01]
282 buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc tfe slc
283 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe ; encoding: [0x04,0xc0,0x70,0xe0,0x02,0x01,0xc1,0x01]
285 buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 glc tfe slc offset:4
286 // CHECK: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe ; encoding: [0x04,0xc0,0x70,0xe0,0x02,0x01,0xc1,0x01]
288 //===----------------------------------------------------------------------===//
290 //===----------------------------------------------------------------------===//
292 buffer_load_format_x v1, s[4:7], s1
293 // CHECK: buffer_load_format_x v1, s[4:7], s1 ; encoding: [0x00,0x00,0x00,0xe0,0x00,0x01,0x01,0x01]
295 buffer_load_format_xy v[1:2], s[4:7], s1
296 // CHECK: buffer_load_format_xy v[1:2], s[4:7], s1 ; encoding: [0x00,0x00,0x04,0xe0,0x00,0x01,0x01,0x01]
298 buffer_load_format_xyz v[1:3], s[4:7], s1
299 // CHECK: buffer_load_format_xyz v[1:3], s[4:7], s1 ; encoding: [0x00,0x00,0x08,0xe0,0x00,0x01,0x01,0x01]
301 buffer_load_format_xyzw v[1:4], s[4:7], s1
302 // CHECK: buffer_load_format_xyzw v[1:4], s[4:7], s1 ; encoding: [0x00,0x00,0x0c,0xe0,0x00,0x01,0x01,0x01]
304 buffer_store_format_x v1, s[4:7], s1
305 // CHECK: buffer_store_format_x v1, s[4:7], s1 ; encoding: [0x00,0x00,0x10,0xe0,0x00,0x01,0x01,0x01]
307 buffer_store_format_xy v[1:2], s[4:7], s1
308 // CHECK: buffer_store_format_xy v[1:2], s[4:7], s1 ; encoding: [0x00,0x00,0x14,0xe0,0x00,0x01,0x01,0x01]
310 buffer_store_format_xyz v[1:3], s[4:7], s1
311 // CHECK: buffer_store_format_xyz v[1:3], s[4:7], s1 ; encoding: [0x00,0x00,0x18,0xe0,0x00,0x01,0x01,0x01]
313 buffer_store_format_xyzw v[1:4], s[4:7], s1
314 // CHECK: buffer_store_format_xyzw v[1:4], s[4:7], s1 ; encoding: [0x00,0x00,0x1c,0xe0,0x00,0x01,0x01,0x01]
316 buffer_load_ubyte v1, s[4:7], s1
317 // CHECK: buffer_load_ubyte v1, s[4:7], s1 ; encoding: [0x00,0x00,0x20,0xe0,0x00,0x01,0x01,0x01]
319 buffer_load_sbyte v1, s[4:7], s1
320 // CHECK: buffer_load_sbyte v1, s[4:7], s1 ; encoding: [0x00,0x00,0x24,0xe0,0x00,0x01,0x01,0x01]
322 buffer_load_ushort v1, s[4:7], s1
323 // CHECK: buffer_load_ushort v1, s[4:7], s1 ; encoding: [0x00,0x00,0x28,0xe0,0x00,0x01,0x01,0x01]
325 buffer_load_sshort v1, s[4:7], s1
326 // CHECK: buffer_load_sshort v1, s[4:7], s1 ; encoding: [0x00,0x00,0x2c,0xe0,0x00,0x01,0x01,0x01]
328 buffer_load_dword v1, s[4:7], s1
329 // CHECK: buffer_load_dword v1, s[4:7], s1 ; encoding: [0x00,0x00,0x30,0xe0,0x00,0x01,0x01,0x01]
331 buffer_load_dwordx2 v[1:2], s[4:7], s1
332 // CHECK: buffer_load_dwordx2 v[1:2], s[4:7], s1 ; encoding: [0x00,0x00,0x34,0xe0,0x00,0x01,0x01,0x01]
334 buffer_load_dwordx4 v[1:4], s[4:7], s1
335 // CHECK: buffer_load_dwordx4 v[1:4], s[4:7], s1 ; encoding: [0x00,0x00,0x38,0xe0,0x00,0x01,0x01,0x01]
337 buffer_store_byte v1, s[4:7], s1
338 // CHECK: buffer_store_byte v1, s[4:7], s1 ; encoding: [0x00,0x00,0x60,0xe0,0x00,0x01,0x01,0x01]
340 buffer_store_short v1, s[4:7], s1
341 // CHECK: buffer_store_short v1, s[4:7], s1 ; encoding: [0x00,0x00,0x68,0xe0,0x00,0x01,0x01,0x01]
343 buffer_store_dword v1 s[4:7], s1
344 // CHECK: buffer_store_dword v1, s[4:7], s1 ; encoding: [0x00,0x00,0x70,0xe0,0x00,0x01,0x01,0x01]
346 buffer_store_dwordx2 v[1:2], s[4:7], s1
347 // CHECK: buffer_store_dwordx2 v[1:2], s[4:7], s1 ; encoding: [0x00,0x00,0x74,0xe0,0x00,0x01,0x01,0x01]
349 buffer_store_dwordx4 v[1:4], s[4:7], s1
350 // CHECK: buffer_store_dwordx4 v[1:4], s[4:7], s1 ; encoding: [0x00,0x00,0x78,0xe0,0x00,0x01,0x01,0x01]