[libc++][test] Fix `size_type` issues with `MinSequenceContainer` and `min_allocator...
[llvm-project.git] / llvm / test / MC / Disassembler / AMDGPU / gfx8_mimg_features.txt
blob67153515b64bb5d414962ad39dd30c5a1f662287
1 # RUN: llvm-mc -triple=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI -check-prefix=GFX80
2 # RUN: llvm-mc -triple=amdgcn -mcpu=gfx810 -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI -check-prefix=GFX81
4 #===------------------------------------------------------------------------===#
5 # Image load/store
6 #===------------------------------------------------------------------------===#
8 # VI: image_load v[0:3], v4, s[8:15] dmask:0xf unorm ; encoding: [0x00,0x1f,0x00,0xf0,0x04,0x00,0x02,0x00]
9 0x00 0x1f 0x00 0xf0 0x04 0x00 0x02 0x00
11 # VI: image_load v[0:2], v4, s[8:15] dmask:0xe unorm ; encoding: [0x00,0x1e,0x00,0xf0,0x04,0x00,0x02,0x00]
12 0x00 0x1e 0x00 0xf0 0x04 0x00 0x02 0x00
14 # VI: image_load v[0:1], v0, s[0:7] dmask:0x3 unorm ; encoding: [0x00,0x13,0x00,0xf0,0x00,0x00,0x00,0x00]
15 0x00 0x13 0x00 0xf0 0x00 0x00 0x00 0x00
17 # VI: image_load v0, v0, s[0:7] dmask:0x1 unorm ; encoding:   [0x00,0x11,0x00,0xf0,0x00,0x00,0x00,0x00]
18 0x00 0x11 0x00 0xf0 0x00 0x00 0x00 0x00
20 # VI: image_store v[0:3], v4, s[0:7] dmask:0xf unorm ; encoding: [0x00,0x1f,0x20,0xf0,0x04,0x00,0x00,0x00]
21 0x00 0x1f 0x20 0xf0 0x04 0x00 0x00 0x00
23 # VI: image_store v[0:2], v4, s[0:7] dmask:0xe unorm ; encoding: [0x00,0x1e,0x20,0xf0,0x04,0x00,0x00,0x00]
24 0x00 0x1e 0x20 0xf0 0x04 0x00 0x00 0x00
26 # VI: image_store v[0:1], v2, s[0:7] dmask:0x3 unorm ; encoding: [0x00,0x13,0x20,0xf0,0x02,0x00,0x00,0x00]
27 0x00 0x13 0x20 0xf0 0x02 0x00 0x00 0x00
29 # VI: image_store v0, v1, s[0:7] dmask:0x1 unorm ; encoding: [0x00,0x11,0x20,0xf0,0x01,0x00,0x00,0x00]
30 0x00 0x11 0x20 0xf0 0x01 0x00 0x00 0x00
32 # Test all modifiers
33 # FIXME: This test is incorrect because r128 assumes a 128-bit SRSRC.
34 # VI: image_load v[5:6], v1, s[8:15] dmask:0x1 unorm glc slc r128 tfe lwe da d16 ; encoding: [0x00,0xf1,0x03,0xf2,0x01,0x05,0x02,0x80]
35 0x00,0xf1,0x03,0xf2,0x01,0x05,0x02,0x80
37 # Test dmask == 0
38 # VI: image_load v0, v4, s[8:15] unorm ; encoding: [0x00,0x10,0x00,0xf0,0x04,0x00,0x02,0x00]
39 0x00 0x10 0x00 0xf0 0x04 0x00 0x02 0x00
41 # Test out of bounds register width
42 # VI: image_load v254, v0, s[0:7] dmask:0x7 unorm ; encoding: [0x00,0x17,0x00,0xf0,0x00,0xfe,0x00,0x00]
43 0x00 0x17 0x00 0xf0 0x00 0xfe 0x00 0x00
45 # VI: image_load v255, v0, s[0:7] dmask:0x1 unorm ; encoding: [0x00,0x11,0x00,0xf0,0x00,0xff,0x00,0x00]
46 0x00 0x11 0x00 0xf0 0x00 0xff 0x00 0x00
48 # VI: image_load v255, v0, s[0:7] dmask:0x3 unorm ; encoding: [0x00,0x13,0x00,0xf0,0x00,0xff,0x00,0x00]
49 0x00 0x13 0x00 0xf0 0x00 0xff 0x00 0x00
51 #===------------------------------------------------------------------------===#
52 # Image load/store: packed/unpacked d16
53 #===------------------------------------------------------------------------===#
55 # GFX80: image_load v[0:1], v4, s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x04,0x00,0x02,0x80]
56 # GFX81: image_load v0, v4, s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x04,0x00,0x02,0x80]
57 0x00,0x03,0x00,0xf0,0x04,0x00,0x02,0x80
59 # GFX80: image_load v[0:2], v4, s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x04,0x00,0x02,0x80]
60 # GFX81: image_load v[0:1], v4, s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x04,0x00,0x02,0x80]
61 0x00,0x07,0x00,0xf0,0x04,0x00,0x02,0x80
63 # GFX80: image_load v[0:3], v4, s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x04,0x00,0x02,0x80]
64 # GFX81: image_load v[0:1], v4, s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x04,0x00,0x02,0x80]
65 0x00,0x0f,0x00,0xf0,0x04,0x00,0x02,0x80
67 # GFX80: image_store v[0:1], v4, s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x20,0xf0,0x04,0x00,0x02,0x80]
68 # GFX81: image_store v0, v4, s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x20,0xf0,0x04,0x00,0x02,0x80]
69 0x00,0x03,0x20,0xf0,0x04,0x00,0x02,0x80
71 # GFX80: image_store v[0:2], v4, s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x20,0xf0,0x04,0x00,0x02,0x80]
72 # GFX81: image_store v[0:1], v4, s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x20,0xf0,0x04,0x00,0x02,0x80]
73 0x00,0x07,0x20,0xf0,0x04,0x00,0x02,0x80
75 # GFX80: image_store v[0:3], v4, s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x20,0xf0,0x04,0x00,0x02,0x80]
76 # GFX81: image_store v[0:1], v4, s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x20,0xf0,0x04,0x00,0x02,0x80]
77 0x00,0x0f,0x20,0xf0,0x04,0x00,0x02,0x80
79 # GFX80: image_load v[0:2], v4, s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x01,0xf0,0x04,0x00,0x02,0x80]
80 # GFX81: image_load v[0:1], v4, s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x01,0xf0,0x04,0x00,0x02,0x80]
81 0x00,0x03,0x01,0xf0,0x04,0x00,0x02,0x80
83 # GFX80: image_load v[0:3], v4, s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x01,0xf0,0x04,0x00,0x02,0x80]
84 # GFX81: image_load v[0:2], v4, s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x01,0xf0,0x04,0x00,0x02,0x80]
85 0x00,0x07,0x01,0xf0,0x04,0x00,0x02,0x80
87 # GFX80: image_load v[0:4], v4, s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x01,0xf0,0x04,0x00,0x02,0x80]
88 # GFX81: image_load v[0:2], v4, s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x01,0xf0,0x04,0x00,0x02,0x80]
89 0x00,0x0f,0x01,0xf0,0x04,0x00,0x02,0x80
91 # GFX80: image_store v[0:2], v4, s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x21,0xf0,0x04,0x00,0x02,0x80]
92 # GFX81: image_store v[0:1], v4, s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x21,0xf0,0x04,0x00,0x02,0x80]
93 0x00,0x03,0x21,0xf0,0x04,0x00,0x02,0x80
95 # GFX80: image_store v[0:3], v4, s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x21,0xf0,0x04,0x00,0x02,0x80]
96 # GFX81: image_store v[0:2], v4, s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x21,0xf0,0x04,0x00,0x02,0x80]
97 0x00,0x07,0x21,0xf0,0x04,0x00,0x02,0x80
99 # GFX80: image_store v[0:4], v4, s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x21,0xf0,0x04,0x00,0x02,0x80]
100 # GFX81: image_store v[0:2], v4, s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x21,0xf0,0x04,0x00,0x02,0x80]
101 0x00,0x0f,0x21,0xf0,0x04,0x00,0x02,0x80
103 #===------------------------------------------------------------------------===#
104 # Image load/store: PCK variants
105 #===------------------------------------------------------------------------===#
107 # VI: image_load_mip_pck v5, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf0,0x01,0x05,0x02,0x00]
108 0x00,0x01,0x10,0xf0,0x01,0x05,0x02,0x00
110 # VI: image_load_mip_pck v[5:6], v1, s[8:15] dmask:0x3 ; encoding: [0x00,0x03,0x10,0xf0,0x01,0x05,0x02,0x00]
111 0x00,0x03,0x10,0xf0,0x01,0x05,0x02,0x00
113 # VI: image_load_mip_pck_sgn v[5:6], v1, s[8:15] dmask:0x5 ; encoding: [0x00,0x05,0x14,0xf0,0x01,0x05,0x02,0x00]
114 0x00,0x05,0x14,0xf0,0x01,0x05,0x02,0x00
116 # VI: image_load_pck v5, v1, s[8:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x08,0xf0,0x01,0x05,0x02,0x00]
117 0x00,0x21,0x08,0xf0,0x01,0x05,0x02,0x00
119 # VI: image_load_pck_sgn v5, v1, s[8:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x0e,0xf0,0x01,0x05,0x02,0x00]
120 0x00,0x01,0x0e,0xf0,0x01,0x05,0x02,0x00
122 # VI: image_store_mip_pck v252, v2, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x2c,0xf0,0x02,0xfc,0x03,0x00]
123 0x00,0x11,0x2c,0xf0,0x02,0xfc,0x03,0x00
125 # VI: image_store_mip_pck v1, v2, s[12:19] dmask:0x1 unorm glc slc lwe da ; encoding: [0x00,0x71,0x2e,0xf2,0x02,0x01,0x03,0x00]
126 0x00,0x71,0x2e,0xf2,0x02,0x01,0x03,0x00
128 # VI: image_store_pck v1, v2, s[12:19] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x28,0xf0,0x02,0x01,0x03,0x00]
129 0x00,0x51,0x28,0xf0,0x02,0x01,0x03,0x00
131 #===------------------------------------------------------------------------===#
132 # Image sample
133 #===------------------------------------------------------------------------===#
135 # VI: image_sample v[193:195], v237, s[28:35], s[4:7] dmask:0x7 unorm ; encoding: [0x00,0x17,0x80,0xf0,0xed,0xc1,0x27,0x00]
136 0x00,0x17,0x80,0xf0,0xed,0xc1,0x27,0x00
138 # GFX80: image_sample v[193:194], v237, s[28:35], s[4:7] dmask:0x3 d16 ; encoding: [0x00,0x03,0x80,0xf0,0xed,0xc1,0x27,0x80]
139 # GFX81: image_sample v193, v237, s[28:35], s[4:7] dmask:0x3 d16 ; encoding: [0x00,0x03,0x80,0xf0,0xed,0xc1,0x27,0x80]
140 0x00,0x03,0x80,0xf0,0xed,0xc1,0x27,0x80
142 # GFX80: image_sample v[193:195], v237, s[28:35], s[4:7] dmask:0x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]
143 # GFX81: image_sample v[193:194], v237, s[28:35], s[4:7] dmask:0x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]
144 0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80
146 # GFX80: image_sample v[193:196], v237, s[28:35], s[4:7] dmask:0xf d16 ; encoding: [0x00,0x0f,0x80,0xf0,0xed,0xc1,0x27,0x80]
147 # GFX81: image_sample v[193:194], v237, s[28:35], s[4:7] dmask:0xf d16 ; encoding: [0x00,0x0f,0x80,0xf0,0xed,0xc1,0x27,0x80]
148 0x00,0x0f,0x80,0xf0,0xed,0xc1,0x27,0x80
150 #===------------------------------------------------------------------------===#
151 # Image atomics
152 #===------------------------------------------------------------------------===#
154 # VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0x05,0x02,0x00]
155 0x00,0x11,0x48,0xf0,0x01,0x05,0x02,0x00
157 # VI: image_atomic_add v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0xfc,0x02,0x00]
158 0x00,0x11,0x48,0xf0,0x01,0xfc,0x02,0x00
160 # VI: image_atomic_add v5, v255, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0xff,0x05,0x02,0x00]
161 0x00,0x11,0x48,0xf0,0xff,0x05,0x02,0x00
163 # VI: image_atomic_add v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0x05,0x17,0x00]
164 0x00,0x11,0x48,0xf0,0x01,0x05,0x17,0x00
166 # VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x48,0xf0,0x01,0x05,0x02,0x00]
167 0x00,0x31,0x48,0xf0,0x01,0x05,0x02,0x00
169 # VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x48,0xf2,0x01,0x05,0x02,0x00]
170 0x00,0x11,0x48,0xf2,0x01,0x05,0x02,0x00
172 # VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x4a,0xf0,0x01,0x05,0x02,0x00]
173 0x00,0x11,0x4a,0xf0,0x01,0x05,0x02,0x00
175 # VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x48,0xf0,0x01,0x05,0x02,0x00]
176 0x00,0x51,0x48,0xf0,0x01,0x05,0x02,0x00
178 # VI: image_atomic_add v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x48,0xf0,0x01,0x05,0x02,0x00]
179 0x00,0x13,0x48,0xf0,0x01,0x05,0x02,0x00
181 # VI: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x44,0xf0,0x01,0x05,0x02,0x00]
182 0x00,0x13,0x44,0xf0,0x01,0x05,0x02,0x00
184 # VI: image_atomic_cmpswap v[5:8], v1, s[8:15] dmask:0xf unorm ; encoding: [0x00,0x1f,0x44,0xf0,0x01,0x05,0x02,0x00]
185 0x00,0x1f,0x44,0xf0,0x01,0x05,0x02,0x00
187 # VI: image_atomic_add v[5:6], v1, s[8:15] dmask:0x1 tfe
188 0x00,0x01,0x49,0xf0,0x01,0x05,0x02,0x00
190 # VI: image_atomic_add v[5:7], v1, s[8:15] dmask:0x3 tfe
191 0x00,0x03,0x49,0xf0,0x01,0x05,0x02,0x00
193 # VI: image_atomic_and v[5:6], v1, s[8:15] dmask:0x1 tfe
194 0x00,0x01,0x61,0xf0,0x01,0x05,0x02,0x00
196 # VI: image_atomic_and v[5:7], v1, s[8:15] dmask:0x3 tfe
197 0x00,0x03,0x61,0xf0,0x01,0x05,0x02,0x00
199 # VI: image_atomic_cmpswap v[5:7], v1, s[8:15] dmask:0x3 tfe
200 0x00,0x03,0x45,0xf0,0x01,0x05,0x02,0x00
202 # VI: image_atomic_cmpswap v[5:9], v1, s[8:15] dmask:0xf tfe
203 0x00,0x0f,0x45,0xf0,0x01,0x05,0x02,0x00
205 # VI: image_atomic_dec v[5:6], v1, s[8:15] dmask:0x1 tfe
206 0x00,0x01,0x71,0xf0,0x01,0x05,0x02,0x00
208 # VI: image_atomic_dec v[5:7], v1, s[8:15] dmask:0x3 tfe
209 0x00,0x03,0x71,0xf0,0x01,0x05,0x02,0x00
211 # VI: image_atomic_inc v[5:6], v1, s[8:15] dmask:0x1 tfe
212 0x00,0x01,0x6d,0xf0,0x01,0x05,0x02,0x00
214 # VI: image_atomic_inc v[5:7], v1, s[8:15] dmask:0x3 tfe
215 0x00,0x03,0x6d,0xf0,0x01,0x05,0x02,0x00
217 # VI: image_atomic_or v[5:6], v1, s[8:15] dmask:0x1 tfe
218 0x00,0x01,0x65,0xf0,0x01,0x05,0x02,0x00
220 # VI: image_atomic_or v[5:7], v1, s[8:15] dmask:0x3 tfe
221 0x00,0x03,0x65,0xf0,0x01,0x05,0x02,0x00
223 # VI: image_atomic_smax v[5:6], v1, s[8:15] dmask:0x1 tfe
224 0x00,0x01,0x59,0xf0,0x01,0x05,0x02,0x00
226 # VI: image_atomic_smax v[5:7], v1, s[8:15] dmask:0x3 tfe
227 0x00,0x03,0x59,0xf0,0x01,0x05,0x02,0x00
229 # VI: image_atomic_smin v[5:6], v1, s[8:15] dmask:0x1 tfe
230 0x00,0x01,0x51,0xf0,0x01,0x05,0x02,0x00
232 # VI: image_atomic_smin v[5:7], v1, s[8:15] dmask:0x3 tfe
233 0x00,0x03,0x51,0xf0,0x01,0x05,0x02,0x00
235 # VI: image_atomic_sub v[5:6], v1, s[8:15] dmask:0x1 tfe
236 0x00,0x01,0x4d,0xf0,0x01,0x05,0x02,0x00
238 # VI: image_atomic_sub v[5:7], v1, s[8:15] dmask:0x3 tfe
239 0x00,0x03,0x4d,0xf0,0x01,0x05,0x02,0x00
241 # VI: image_atomic_swap v[5:6], v1, s[8:15] dmask:0x1 tfe
242 0x00,0x01,0x41,0xf0,0x01,0x05,0x02,0x00
244 # VI: image_atomic_swap v[5:7], v1, s[8:15] dmask:0x3 tfe
245 0x00,0x03,0x41,0xf0,0x01,0x05,0x02,0x00
247 # VI: image_atomic_umax v[5:6], v1, s[8:15] dmask:0x1 tfe
248 0x00,0x01,0x5d,0xf0,0x01,0x05,0x02,0x00
250 # VI: image_atomic_umax v[5:7], v1, s[8:15] dmask:0x3 tfe
251 0x00,0x03,0x5d,0xf0,0x01,0x05,0x02,0x00
253 # VI: image_atomic_umin v[5:6], v1, s[8:15] dmask:0x1 tfe
254 0x00,0x01,0x55,0xf0,0x01,0x05,0x02,0x00
256 # VI: image_atomic_umin v[5:7], v1, s[8:15] dmask:0x3 tfe
257 0x00,0x03,0x55,0xf0,0x01,0x05,0x02,0x00
259 # VI: image_atomic_xor v[5:6], v1, s[8:15] dmask:0x1 tfe
260 0x00,0x01,0x69,0xf0,0x01,0x05,0x02,0x00
262 # VI: image_atomic_xor v[5:7], v1, s[8:15] dmask:0x3 tfe
263 0x00,0x03,0x69,0xf0,0x01,0x05,0x02,0x00
266 #===------------------------------------------------------------------------===#
267 # Invalid image atomics (incorrect dmask value).
268 # Disassembler may produce a partially incorrect instruction but should not fail.
269 #===------------------------------------------------------------------------===#
271 # VI: image_atomic_add v5, v1, s[8:15] dmask:0x2 unorm ; encoding: [0x00,0x12,0x48,0xf0,0x01,0x05,0x02,0x00]
272 0x00,0x12,0x48,0xf0,0x01,0x05,0x02,0x00
274 # VI: image_atomic_add v[5:7], v1, s[8:15] dmask:0x7 unorm ; encoding: [0x00,0x17,0x48,0xf0,0x01,0x05,0x02,0x00]
275 0x00,0x17,0x48,0xf0,0x01,0x05,0x02,0x00
277 # VI: image_atomic_add v5, v1, s[8:15] dmask:0xf unorm ; encoding: [0x00,0x1f,0x48,0xf0,0x01,0x05,0x02,0x00]
278 0x00,0x1f,0x48,0xf0,0x01,0x05,0x02,0x00
280 # VI: image_atomic_cmpswap v[5:6], v1, s[8:15] unorm ; encoding: [0x00,0x10,0x44,0xf0,0x01,0x05,0x02,0x00]
281 0x00,0x10,0x44,0xf0,0x01,0x05,0x02,0x00
283 # VI: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x44,0xf0,0x01,0x05,0x02,0x00]
284 0x00,0x11,0x44,0xf0,0x01,0x05,0x02,0x00
286 # VI: image_atomic_cmpswap v[5:7], v1, s[8:15] dmask:0xe unorm ; encoding: [0x00,0x1e,0x44,0xf0,0x01,0x05,0x02,0x00]
287 0x00,0x1e,0x44,0xf0,0x01,0x05,0x02,0x00
289 #===------------------------------------------------------------------------===#
290 # Image gather
291 #===------------------------------------------------------------------------===#
293 # VI: image_gather4 v[252:255], v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0xfc,0x62,0x00]
294 0x00,0x01,0x00,0xf1,0x01,0xfc,0x62,0x00
296 # VI: image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x00,0xf1,0x01,0x05,0x62,0x00]
297 0x00,0x02,0x00,0xf1,0x01,0x05,0x62,0x00
299 # VI: image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x00,0xf1,0x01,0x05,0x62,0x00]
300 0x00,0x04,0x00,0xf1,0x01,0x05,0x62,0x00
302 # VI: image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x00,0xf1,0x01,0x05,0x62,0x00]
303 0x00,0x08,0x00,0xf1,0x01,0x05,0x62,0x00
305 # GFX80: image_gather4 v[252:255], v1, s[8:15], s[12:15] dmask:0x1 unorm glc slc lwe da d16 ; encoding: [0x00,0x71,0x02,0xf3,0x01,0xfc,0x62,0x80]
306 # GFX81: image_gather4 v[252:253], v1, s[8:15], s[12:15] dmask:0x1 unorm glc slc lwe da d16 ; encoding: [0x00,0x71,0x02,0xf3,0x01,0xfc,0x62,0x80]
307 0x00,0x71,0x02,0xf3,0x01,0xfc,0x62,0x80
309 #===------------------------------------------------------------------------===#
310 # Invalid image gather (incorrect dmask value or tfe).
311 # Disassembler may produce a partially incorrect instruction but should not fail.
312 #===------------------------------------------------------------------------===#
314 # VI: image_gather4 v[252:255], v1, s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0x00,0xf1,0x01,0xfc,0x62,0x00]
315 0x00,0x03,0x00,0xf1,0x01,0xfc,0x62,0x00
317 # VI: image_gather4 v[252:253], v1, s[8:15], s[12:15] dmask:0x1 unorm glc slc tfe lwe da ; encoding: [0x00,0x71,0x03,0xf3,0x01,0xfc,0x62,0x00]
318 0x00,0x71,0x03,0xf3,0x01,0xfc,0x62,0x00