1 // RUN
: not llvm-mc
-arch
=amdgcn
-show-encoding
%s | FileCheck
%s
--check-prefix
=SI
--check-prefix
=SICI
2 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=tahiti
-show-encoding
%s | FileCheck
%s
--check-prefix
=SI
--check-prefix
=SICI
3 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=bonaire
-show-encoding
%s | FileCheck
%s
--check-prefix
=CI
--check-prefix
=SICI
4 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=tonga
-show-encoding
%s | FileCheck
%s
--check-prefix
=VI
6 // RUN
: not llvm-mc
-arch
=amdgcn
-show-encoding
%s
2>&1 | FileCheck
%s
--check-prefix
=NOSI
--check-prefix
=NOSICI
7 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=tahiti
-show-encoding
%s
2>&1 | FileCheck
%s
--check-prefix
=NOSI
--check-prefix
=NOSICI
8 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=bonaire
-show-encoding
%s
2>&1 | FileCheck
%s
--check-prefix
=NOCI
--check-prefix
=NOSICI
10 //===----------------------------------------------------------------------===//
11 // Checks for
16-bit Offsets
12 //===----------------------------------------------------------------------===//
14 ds_add_u32 v2
, v4 offset
:16
15 // SICI
: ds_add_u32 v2
, v4 offset
:16 ; encoding
: [0x10,0x00,0x00,0xd8,0x02,0x04,0x00,0x00]
16 // VI
: ds_add_u32 v2
, v4 offset
:16 ; encoding
: [0x10,0x00,0x00,0xd8,0x02,0x04,0x00,0x00]
18 ds_add_src2_f32 v255 offset
:65535
20 // VI
: ds_add_src2_f32 v255 offset
:65535 ; encoding
: [0xff,0xff,0x2a,0xd9,0xff,0x00,0x00,0x00]
22 ds_add_src2_f32 v0 offset
:4 gds
24 // VI
: ds_add_src2_f32 v0 offset
:4 gds ; encoding
: [0x04,0x00,0x2b,0xd9,0x00,0x00,0x00,0x00]
26 //===----------------------------------------------------------------------===//
27 // Checks for
2 8-bit Offsets
28 //===----------------------------------------------------------------------===//
30 ds_write_src2_b32 v2 offset
:2052
31 // SICI
: ds_write_src2_b32 v2 offset
:2052 ; encoding
: [0x04,0x08,0x34,0xda,0x02,0x00,0x00,0x00]
32 // VI
: ds_write_src2_b32 v2 offset
:2052 ; encoding
: [0x04,0x08,0x1a,0xd9,0x02,0x00,0x00,0x00]
34 ds_write_src2_b64 v2 offset
:2052
35 // SICI
: ds_write_src2_b64 v2 offset
:2052 ; encoding
: [0x04,0x08,0x34,0xdb,0x02,0x00,0x00,0x00]
36 // VI
: ds_write_src2_b64 v2 offset
:2052 ; encoding
: [0x04,0x08,0x9a,0xd9,0x02,0x00,0x00,0x00]
38 ds_write2_b32 v2
, v4
, v6 offset0
:4
39 // SICI
: ds_write2_b32 v2
, v4
, v6 offset0
:4 ; encoding
: [0x04,0x00,0x38,0xd8,0x02,0x04,0x06,0x00]
40 // VI
: ds_write2_b32 v2
, v4
, v6 offset0
:4 ; encoding
: [0x04,0x00,0x1c,0xd8,0x02,0x04,0x06,0x00]
42 ds_write2_b32 v2
, v4
, v6 offset0
:4 offset1
:8
43 // SICI
: ds_write2_b32 v2
, v4
, v6 offset0
:4 offset1
:8 ; encoding
: [0x04,0x08,0x38,0xd8,0x02,0x04,0x06,0x00]
44 // VI
: ds_write2_b32 v2
, v4
, v6 offset0
:4 offset1
:8 ; encoding
: [0x04,0x08,0x1c,0xd8,0x02,0x04,0x06,0x00]
46 ds_write2_b32 v2
, v4
, v6 offset1
:8
47 // SICI
: ds_write2_b32 v2
, v4
, v6 offset1
:8 ; encoding
: [0x00,0x08,0x38,0xd8,0x02,0x04,0x06,0x00]
48 // VI
: ds_write2_b32 v2
, v4
, v6 offset1
:8 ; encoding
: [0x00,0x08,0x1c,0xd8,0x02,0x04,0x06,0x00]
50 ds_read2_b32 v
[8:9], v2 offset0
:4
51 // SICI
: ds_read2_b32 v
[8:9], v2 offset0
:4 ; encoding
: [0x04,0x00,0xdc,0xd8,0x02,0x00,0x00,0x08]
52 // VI
: ds_read2_b32 v
[8:9], v2 offset0
:4 ; encoding
: [0x04,0x00,0x6e,0xd8,0x02,0x00,0x00,0x08]
54 ds_read2_b32 v
[8:9], v2 offset0
:4 offset1
:8
55 // SICI
: ds_read2_b32 v
[8:9], v2 offset0
:4 offset1
:8 ; encoding
: [0x04,0x08,0xdc,0xd8,0x02,0x00,0x00,0x08]
56 // VI
: ds_read2_b32 v
[8:9], v2 offset0
:4 offset1
:8 ; encoding
: [0x04,0x08,0x6e,0xd8,0x02,0x00,0x00,0x08]
58 ds_read2_b32 v
[8:9], v2 offset1
:8
59 // SICI
: ds_read2_b32 v
[8:9], v2 offset1
:8 ; encoding
: [0x00,0x08,0xdc,0xd8,0x02,0x00,0x00,0x08]
60 // VI
: ds_read2_b32 v
[8:9], v2 offset1
:8 ; encoding
: [0x00,0x08,0x6e,0xd8,0x02,0x00,0x00,0x08]
62 //===----------------------------------------------------------------------===//
64 //===----------------------------------------------------------------------===//
67 // SICI
: ds_add_u32 v2
, v4 ; encoding
: [0x00,0x00,0x00,0xd8,0x02,0x04,0x00,0x00]
68 // VI
: ds_add_u32 v2
, v4 ; encoding
: [0x00,0x00,0x00,0xd8,0x02,0x04,0x00,0x00]
71 // NOSICI
: error
: instruction
not supported on this GPU
72 // VI
: ds_add_f32 v2
, v4 ; encoding
: [0x00,0x00,0x2a,0xd8,0x02,0x04,0x00,0x00]
75 // SICI
: ds_sub_u32 v2
, v4 ; encoding
: [0x00,0x00,0x04,0xd8,0x02,0x04,0x00,0x00]
76 // VI
: ds_sub_u32 v2
, v4 ; encoding
: [0x00,0x00,0x02,0xd8,0x02,0x04,0x00,0x00]
79 // SICI
: ds_rsub_u32 v2
, v4 ; encoding
: [0x00,0x00,0x08,0xd8,0x02,0x04,0x00,0x00]
80 // VI
: ds_rsub_u32 v2
, v4 ; encoding
: [0x00,0x00,0x04,0xd8,0x02,0x04,0x00,0x00]
83 // SICI
: ds_inc_u32 v2
, v4 ; encoding
: [0x00,0x00,0x0c,0xd8,0x02,0x04,0x00,0x00]
84 // VI
: ds_inc_u32 v2
, v4 ; encoding
: [0x00,0x00,0x06,0xd8,0x02,0x04,0x00,0x00]
87 // SICI
: ds_dec_u32 v2
, v4 ; encoding
: [0x00,0x00,0x10,0xd8,0x02,0x04,0x00,0x00]
88 // VI
: ds_dec_u32 v2
, v4 ; encoding
: [0x00,0x00,0x08,0xd8,0x02,0x04,0x00,0x00]
91 // SICI
: ds_min_i32 v2
, v4 ; encoding
: [0x00,0x00,0x14,0xd8,0x02,0x04,0x00,0x00]
92 // VI
: ds_min_i32 v2
, v4 ; encoding
: [0x00,0x00,0x0a,0xd8,0x02,0x04,0x00,0x00]
95 // SICI
: ds_max_i32 v2
, v4 ; encoding
: [0x00,0x00,0x18,0xd8,0x02,0x04,0x00,0x00]
96 // VI
: ds_max_i32 v2
, v4 ; encoding
: [0x00,0x00,0x0c,0xd8,0x02,0x04,0x00,0x00]
99 // SICI
: ds_min_u32 v2
, v4 ; encoding
: [0x00,0x00,0x1c,0xd8,0x02,0x04,0x00,0x00]
100 // VI
: ds_min_u32 v2
, v4 ; encoding
: [0x00,0x00,0x0e,0xd8,0x02,0x04,0x00,0x00]
103 // SICI
: ds_max_u32 v2
, v4 ; encoding
: [0x00,0x00,0x20,0xd8,0x02,0x04,0x00,0x00]
104 // VI
: ds_max_u32 v2
, v4 ; encoding
: [0x00,0x00,0x10,0xd8,0x02,0x04,0x00,0x00]
107 // SICI
: ds_and_b32 v2
, v4 ; encoding
: [0x00,0x00,0x24,0xd8,0x02,0x04,0x00,0x00]
108 // VI
: ds_and_b32 v2
, v4 ; encoding
: [0x00,0x00,0x12,0xd8,0x02,0x04,0x00,0x00]
111 // SICI
: ds_or_b32 v2
, v4 ; encoding
: [0x00,0x00,0x28,0xd8,0x02,0x04,0x00,0x00]
112 // VI
: ds_or_b32 v2
, v4 ; encoding
: [0x00,0x00,0x14,0xd8,0x02,0x04,0x00,0x00]
115 // SICI
: ds_xor_b32 v2
, v4 ; encoding
: [0x00,0x00,0x2c,0xd8,0x02,0x04,0x00,0x00]
116 // VI
: ds_xor_b32 v2
, v4 ; encoding
: [0x00,0x00,0x16,0xd8,0x02,0x04,0x00,0x00]
118 ds_mskor_b32 v2
, v4
, v6
119 // SICI
: ds_mskor_b32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x30,0xd8,0x02,0x04,0x06,0x00]
120 // VI
: ds_mskor_b32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x18,0xd8,0x02,0x04,0x06,0x00]
123 // SICI
: ds_write_b32 v2
, v4 ; encoding
: [0x00,0x00,0x34,0xd8,0x02,0x04,0x00,0x00]
124 // VI
: ds_write_b32 v2
, v4 ; encoding
: [0x00,0x00,0x1a,0xd8,0x02,0x04,0x00,0x00]
126 ds_write2_b32 v2
, v4
, v6
127 // SICI
: ds_write2_b32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x38,0xd8,0x02,0x04,0x06,0x00]
128 // VI
: ds_write2_b32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x1c,0xd8,0x02,0x04,0x06,0x00]
130 ds_write2st64_b32 v2
, v4
, v6
131 // SICI
: ds_write2st64_b32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x3c,0xd8,0x02,0x04,0x06,0x00]
132 // VI
: ds_write2st64_b32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x1e,0xd8,0x02,0x04,0x06,0x00]
134 ds_cmpst_b32 v2
, v4
, v6
135 // SICI
: ds_cmpst_b32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x40,0xd8,0x02,0x04,0x06,0x00]
136 // VI
: ds_cmpst_b32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x20,0xd8,0x02,0x04,0x06,0x00]
138 ds_cmpst_f32 v2
, v4
, v6
139 // SICI
: ds_cmpst_f32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x44,0xd8,0x02,0x04,0x06,0x00]
140 // VI
: ds_cmpst_f32 v2
, v4
, v6 ; encoding
: [0x00,0x00,0x22,0xd8,0x02,0x04,0x06,0x00]
143 // SICI
: ds_min_f32 v2
, v4 ; encoding
: [0x00,0x00,0x48,0xd8,0x02,0x04,0x00,0x00]
144 // VI
: ds_min_f32 v2
, v4 ; encoding
: [0x00,0x00,0x24,0xd8,0x02,0x04,0x00,0x00]
147 // SICI
: ds_max_f32 v2
, v4 ; encoding
: [0x00,0x00,0x4c,0xd8,0x02,0x04,0x00,0x00]
148 // VI
: ds_max_f32 v2
, v4 ; encoding
: [0x00,0x00,0x26,0xd8,0x02,0x04,0x00,0x00]
151 // SICI
: ds_gws_init v2 gds ; encoding
: [0x00,0x00,0x66,0xd8,0x02,0x00,0x00,0x00]
152 // VI
: ds_gws_init v2 gds ; encoding
: [0x00,0x00,0x33,0xd9,0x02,0x00,0x00,0x00]
154 ds_gws_init v3 offset
:12345 gds
155 // SICI
: ds_gws_init v3 offset
:12345 gds ; encoding
: [0x39,0x30,0x66,0xd8,0x03,0x00,0x00,0x00]
156 // VI
: ds_gws_init v3 offset
:12345 gds ; encoding
: [0x39,0x30,0x33,0xd9,0x03,0x00,0x00,0x00]
159 // SICI
: ds_gws_sema_v gds ; encoding
: [0x00,0x00,0x6a,0xd8,0x00,0x00,0x00,0x00]
160 // VI
: ds_gws_sema_v gds ; encoding
: [0x00,0x00,0x35,0xd9,0x00,0x00,0x00,0x00]
162 ds_gws_sema_v offset
:257 gds
163 // SICI
: ds_gws_sema_v offset
:257 gds ; encoding
: [0x01,0x01,0x6a,0xd8,0x00,0x00,0x00,0x00]
164 // VI
: ds_gws_sema_v offset
:257 gds ; encoding
: [0x01,0x01,0x35,0xd9,0x00,0x00,0x00,0x00]
166 ds_gws_sema_br v2 gds
167 // SICI
: ds_gws_sema_br v2 gds ; encoding
: [0x00,0x00,0x6e,0xd8,0x02,0x00,0x00,0x00]
168 // VI
: ds_gws_sema_br v2 gds ; encoding
: [0x00,0x00,0x37,0xd9,0x02,0x00,0x00,0x00]
171 // SICI
: ds_gws_sema_p gds ; encoding
: [0x00,0x00,0x72,0xd8,0x00,0x00,0x00,0x00]
172 // VI
: ds_gws_sema_p gds ; encoding
: [0x00,0x00,0x39,0xd9,0x00,0x00,0x00,0x00]
174 ds_gws_barrier v2 gds
175 // SICI
: ds_gws_barrier v2 gds ; encoding
: [0x00,0x00,0x76,0xd8,0x02,0x00,0x00,0x00]
176 // VI
: ds_gws_barrier v2 gds ; encoding
: [0x00,0x00,0x3b,0xd9,0x02,0x00,0x00,0x00]
179 // SICI
: ds_write_b8 v2
, v4 ; encoding
: [0x00,0x00,0x78,0xd8,0x02,0x04,0x00,0x00]
180 // VI
: ds_write_b8 v2
, v4 ; encoding
: [0x00,0x00,0x3c,0xd8,0x02,0x04,0x00,0x00]
183 // SICI
: ds_write_b16 v2
, v4 ; encoding
: [0x00,0x00,0x7c,0xd8,0x02,0x04,0x00,0x00]
184 // VI
: ds_write_b16 v2
, v4 ; encoding
: [0x00,0x00,0x3e,0xd8,0x02,0x04,0x00,0x00]
186 ds_add_rtn_u32 v8
, v2
, v4
187 // SICI
: ds_add_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x80,0xd8,0x02,0x04,0x00,0x08]
188 // VI
: ds_add_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x40,0xd8,0x02,0x04,0x00,0x08]
190 ds_add_rtn_f32 v8
, v2
, v4
191 // NOSICI
: error
: instruction
not supported on this GPU
192 // VI
: ds_add_rtn_f32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x6a,0xd8,0x02,0x04,0x00,0x08]
194 ds_sub_rtn_u32 v8
, v2
, v4
195 // SICI
: ds_sub_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x84,0xd8,0x02,0x04,0x00,0x08]
196 // VI
: ds_sub_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x42,0xd8,0x02,0x04,0x00,0x08]
198 ds_rsub_rtn_u32 v8
, v2
, v4
199 // SICI
: ds_rsub_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x88,0xd8,0x02,0x04,0x00,0x08]
200 // VI
: ds_rsub_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x44,0xd8,0x02,0x04,0x00,0x08]
202 ds_inc_rtn_u32 v8
, v2
, v4
203 // SICI
: ds_inc_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x8c,0xd8,0x02,0x04,0x00,0x08]
204 // VI
: ds_inc_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x46,0xd8,0x02,0x04,0x00,0x08]
206 ds_dec_rtn_u32 v8
, v2
, v4
207 // SICI
: ds_dec_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x90,0xd8,0x02,0x04,0x00,0x08]
208 // VI
: ds_dec_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x48,0xd8,0x02,0x04,0x00,0x08]
210 ds_min_rtn_i32 v8
, v2
, v4
211 // SICI
: ds_min_rtn_i32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x94,0xd8,0x02,0x04,0x00,0x08]
212 // VI
: ds_min_rtn_i32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x4a,0xd8,0x02,0x04,0x00,0x08]
214 ds_max_rtn_i32 v8
, v2
, v4
215 // SICI
: ds_max_rtn_i32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x98,0xd8,0x02,0x04,0x00,0x08]
216 // VI
: ds_max_rtn_i32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x4c,0xd8,0x02,0x04,0x00,0x08]
218 ds_min_rtn_u32 v8
, v2
, v4
219 // SICI
: ds_min_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x9c,0xd8,0x02,0x04,0x00,0x08]
220 // VI
: ds_min_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x4e,0xd8,0x02,0x04,0x00,0x08]
222 ds_max_rtn_u32 v8
, v2
, v4
223 // SICI
: ds_max_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0xa0,0xd8,0x02,0x04,0x00,0x08]
224 // VI
: ds_max_rtn_u32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x50,0xd8,0x02,0x04,0x00,0x08]
226 ds_and_rtn_b32 v8
, v2
, v4
227 // SICI
: ds_and_rtn_b32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0xa4,0xd8,0x02,0x04,0x00,0x08]
228 // VI
: ds_and_rtn_b32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x52,0xd8,0x02,0x04,0x00,0x08]
230 ds_or_rtn_b32 v8
, v2
, v4
231 // SICI
: ds_or_rtn_b32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0xa8,0xd8,0x02,0x04,0x00,0x08]
232 // VI
: ds_or_rtn_b32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x54,0xd8,0x02,0x04,0x00,0x08]
234 ds_xor_rtn_b32 v8
, v2
, v4
235 // SICI
: ds_xor_rtn_b32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0xac,0xd8,0x02,0x04,0x00,0x08]
236 // VI
: ds_xor_rtn_b32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x56,0xd8,0x02,0x04,0x00,0x08]
238 ds_mskor_rtn_b32 v8
, v2
, v4
, v6
239 // SICI
: ds_mskor_rtn_b32 v8
, v2
, v4
, v6 ; encoding
: [0x00,0x00,0xb0,0xd8,0x02,0x04,0x06,0x08]
240 // VI
: ds_mskor_rtn_b32 v8
, v2
, v4
, v6 ; encoding
: [0x00,0x00,0x58,0xd8,0x02,0x04,0x06,0x08]
242 ds_wrxchg_rtn_b32 v8
, v2
, v4
243 // SICI
: ds_wrxchg_rtn_b32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0xb4,0xd8,0x02,0x04,0x00,0x08]
244 // VI
: ds_wrxchg_rtn_b32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x5a,0xd8,0x02,0x04,0x00,0x08]
246 ds_wrxchg2_rtn_b32 v
[8:9], v2
, v4
, v6
247 // SICI
: ds_wrxchg2_rtn_b32 v
[8:9], v2
, v4
, v6 ; encoding
: [0x00,0x00,0xb8,0xd8,0x02,0x04,0x06,0x08]
248 // VI
: ds_wrxchg2_rtn_b32 v
[8:9], v2
, v4
, v6 ; encoding
: [0x00,0x00,0x5c,0xd8,0x02,0x04,0x06,0x08]
250 ds_wrxchg2_rtn_b32 v
[0:1], v0
, v0
, v0 offset0
:127 offset1
:255
251 // SICI
: ds_wrxchg2_rtn_b32 v
[0:1], v0
, v0
, v0 offset0
:127 offset1
:255 ; encoding
: [0x7f,0xff,0xb8,0xd8,0x00,0x00,0x00,0x00]
252 // VI
: ds_wrxchg2_rtn_b32 v
[0:1], v0
, v0
, v0 offset0
:127 offset1
:255 ; encoding
: [0x7f,0xff,0x5c,0xd8,0x00,0x00,0x00,0x00]
254 ds_wrxchg2st64_rtn_b32 v
[8:9] v2
, v4
, v6
255 // SICI
: ds_wrxchg2st64_rtn_b32 v
[8:9], v2
, v4
, v6 ; encoding
: [0x00,0x00,0xbc,0xd8,0x02,0x04,0x06,0x08]
256 // VI
: ds_wrxchg2st64_rtn_b32 v
[8:9], v2
, v4
, v6 ; encoding
: [0x00,0x00,0x5e,0xd8,0x02,0x04,0x06,0x08]
258 ds_wrxchg2st64_rtn_b32 v
[0:1], v0
, v255
, v0 offset0
:127 offset1
:255
259 // SICI
: ds_wrxchg2st64_rtn_b32 v
[0:1], v0
, v255
, v0 offset0
:127 offset1
:255 ; encoding
: [0x7f,0xff,0xbc,0xd8,0x00,0xff,0x00,0x00]
260 // VI
: ds_wrxchg2st64_rtn_b32 v
[0:1], v0
, v255
, v0 offset0
:127 offset1
:255 ; encoding
: [0x7f,0xff,0x5e,0xd8,0x00,0xff,0x00,0x00]
262 ds_cmpst_rtn_b32 v8
, v2
, v4
, v6
263 // SICI
: ds_cmpst_rtn_b32 v8
, v2
, v4
, v6 ; encoding
: [0x00,0x00,0xc0,0xd8,0x02,0x04,0x06,0x08]
264 // VI
: ds_cmpst_rtn_b32 v8
, v2
, v4
, v6 ; encoding
: [0x00,0x00,0x60,0xd8,0x02,0x04,0x06,0x08]
266 ds_cmpst_rtn_f32 v8
, v2
, v4
, v6
267 // SICI
: ds_cmpst_rtn_f32 v8
, v2
, v4
, v6 ; encoding
: [0x00,0x00,0xc4,0xd8,0x02,0x04,0x06,0x08]
268 // VI
: ds_cmpst_rtn_f32 v8
, v2
, v4
, v6 ; encoding
: [0x00,0x00,0x62,0xd8,0x02,0x04,0x06,0x08]
270 ds_min_rtn_f32 v8
, v2
, v4
271 // SICI
: ds_min_rtn_f32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0xc8,0xd8,0x02,0x04,0x00,0x08]
272 // VI
: ds_min_rtn_f32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x64,0xd8,0x02,0x04,0x00,0x08]
274 ds_max_rtn_f32 v8
, v2
, v4
275 // SICI
: ds_max_rtn_f32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0xcc,0xd8,0x02,0x04,0x00,0x08]
276 // VI
: ds_max_rtn_f32 v8
, v2
, v4 ; encoding
: [0x00,0x00,0x66,0xd8,0x02,0x04,0x00,0x08]
279 // SICI
: ds_read_b32 v8
, v2 ; encoding
: [0x00,0x00,0xd8,0xd8,0x02,0x00,0x00,0x08]
280 // VI
: ds_read_b32 v8
, v2 ; encoding
: [0x00,0x00,0x6c,0xd8,0x02,0x00,0x00,0x08]
282 ds_read2_b32 v
[8:9], v2
283 // SICI
: ds_read2_b32 v
[8:9], v2 ; encoding
: [0x00,0x00,0xdc,0xd8,0x02,0x00,0x00,0x08]
284 // VI
: ds_read2_b32 v
[8:9], v2 ; encoding
: [0x00,0x00,0x6e,0xd8,0x02,0x00,0x00,0x08]
286 ds_read2st64_b32 v
[8:9], v2
287 // SICI
: ds_read2st64_b32 v
[8:9], v2 ; encoding
: [0x00,0x00,0xe0,0xd8,0x02,0x00,0x00,0x08]
288 // VI
: ds_read2st64_b32 v
[8:9], v2 ; encoding
: [0x00,0x00,0x70,0xd8,0x02,0x00,0x00,0x08]
291 // SICI
: ds_read_i8 v8
, v2 ; encoding
: [0x00,0x00,0xe4,0xd8,0x02,0x00,0x00,0x08]
292 // VI
: ds_read_i8 v8
, v2 ; encoding
: [0x00,0x00,0x72,0xd8,0x02,0x00,0x00,0x08]
295 // SICI
: ds_read_u8 v8
, v2 ; encoding
: [0x00,0x00,0xe8,0xd8,0x02,0x00,0x00,0x08]
296 // VI
: ds_read_u8 v8
, v2 ; encoding
: [0x00,0x00,0x74,0xd8,0x02,0x00,0x00,0x08]
299 // SICI
: ds_read_i16 v8
, v2 ; encoding
: [0x00,0x00,0xec,0xd8,0x02,0x00,0x00,0x08]
300 // VI
: ds_read_i16 v8
, v2 ; encoding
: [0x00,0x00,0x76,0xd8,0x02,0x00,0x00,0x08]
303 // SICI
: ds_read_u16 v8
, v2 ; encoding
: [0x00,0x00,0xf0,0xd8,0x02,0x00,0x00,0x08]
304 // VI
: ds_read_u16 v8
, v2 ; encoding
: [0x00,0x00,0x78,0xd8,0x02,0x00,0x00,0x08]
308 // SICI
: ds_consume v8 ; encoding
: [0x00,0x00,0xf4,0xd8,0x00,0x00,0x00,0x08]
309 // VI
: ds_consume v8 ; encoding
: [0x00,0x00,0x7a,0xd9,0x00,0x00,0x00,0x08]
312 // SICI
: ds_append v8 ; encoding
: [0x00,0x00,0xf8,0xd8,0x00,0x00,0x00,0x08]
313 // VI
: ds_append v8 ; encoding
: [0x00,0x00,0x7c,0xd9,0x00,0x00,0x00,0x08]
315 ds_ordered_count v8
, v2 gds
316 // SICI
: ds_ordered_count v8
, v2 gds ; encoding
: [0x00,0x00,0xfe,0xd8,0x02,0x00,0x00,0x08]
317 // VI
: ds_ordered_count v8
, v2 gds ; encoding
: [0x00,0x00,0x7f,0xd9,0x02,0x00,0x00,0x08]
319 ds_add_u64 v2
, v
[4:5]
320 // SICI
: ds_add_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x00,0xd9,0x02,0x04,0x00,0x00]
321 // VI
: ds_add_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x80,0xd8,0x02,0x04,0x00,0x00]
323 ds_sub_u64 v2
, v
[4:5]
324 // SICI
: ds_sub_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x04,0xd9,0x02,0x04,0x00,0x00]
325 // VI
: ds_sub_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x82,0xd8,0x02,0x04,0x00,0x00]
327 ds_rsub_u64 v2
, v
[4:5]
328 // SICI
: ds_rsub_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x08,0xd9,0x02,0x04,0x00,0x00]
329 // VI
: ds_rsub_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x84,0xd8,0x02,0x04,0x00,0x00]
331 ds_inc_u64 v2
, v
[4:5]
332 // SICI
: ds_inc_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x0c,0xd9,0x02,0x04,0x00,0x00]
333 // VI
: ds_inc_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x86,0xd8,0x02,0x04,0x00,0x00]
335 ds_dec_u64 v2
, v
[4:5]
336 // SICI
: ds_dec_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x10,0xd9,0x02,0x04,0x00,0x00]
337 // VI
: ds_dec_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x88,0xd8,0x02,0x04,0x00,0x00]
339 ds_min_i64 v2
, v
[4:5]
340 // SICI
: ds_min_i64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x14,0xd9,0x02,0x04,0x00,0x00]
341 // VI
: ds_min_i64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x8a,0xd8,0x02,0x04,0x00,0x00]
343 ds_max_i64 v2
, v
[4:5]
344 // SICI
: ds_max_i64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x18,0xd9,0x02,0x04,0x00,0x00]
345 // VI
: ds_max_i64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x8c,0xd8,0x02,0x04,0x00,0x00]
347 ds_min_u64 v2
, v
[4:5]
348 // SICI
: ds_min_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x1c,0xd9,0x02,0x04,0x00,0x00]
349 // VI
: ds_min_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x8e,0xd8,0x02,0x04,0x00,0x00]
351 ds_max_u64 v2
, v
[4:5]
352 // SICI
: ds_max_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x20,0xd9,0x02,0x04,0x00,0x00]
353 // VI
: ds_max_u64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x90,0xd8,0x02,0x04,0x00,0x00]
355 ds_and_b64 v2
, v
[4:5]
356 // SICI
: ds_and_b64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x24,0xd9,0x02,0x04,0x00,0x00]
357 // VI
: ds_and_b64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x92,0xd8,0x02,0x04,0x00,0x00]
360 // SICI
: ds_or_b64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x28,0xd9,0x02,0x04,0x00,0x00]
361 // VI
: ds_or_b64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x94,0xd8,0x02,0x04,0x00,0x00]
363 ds_xor_b64 v2
, v
[4:5]
364 // SICI
: ds_xor_b64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x2c,0xd9,0x02,0x04,0x00,0x00]
365 // VI
: ds_xor_b64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x96,0xd8,0x02,0x04,0x00,0x00]
367 ds_mskor_b64 v2
, v
[4:5], v
[6:7]
368 // SICI
: ds_mskor_b64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0x30,0xd9,0x02,0x04,0x06,0x00]
369 // VI
: ds_mskor_b64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0x98,0xd8,0x02,0x04,0x06,0x00]
371 ds_write_b64 v2
, v
[4:5]
372 // SICI
: ds_write_b64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x34,0xd9,0x02,0x04,0x00,0x00]
373 // VI
: ds_write_b64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x9a,0xd8,0x02,0x04,0x00,0x00]
375 ds_write2_b64 v2
, v
[4:5], v
[6:7]
376 // SICI
: ds_write2_b64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0x38,0xd9,0x02,0x04,0x06,0x00]
377 // VI
: ds_write2_b64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0x9c,0xd8,0x02,0x04,0x06,0x00]
379 ds_write2st64_b64 v2
, v
[4:5], v
[6:7]
380 // SICI
: ds_write2st64_b64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0x3c,0xd9,0x02,0x04,0x06,0x00]
381 // VI
: ds_write2st64_b64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0x9e,0xd8,0x02,0x04,0x06,0x00]
383 ds_cmpst_b64 v2
, v
[4:5], v
[6:7]
384 // SICI
: ds_cmpst_b64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0x40,0xd9,0x02,0x04,0x06,0x00]
385 // VI
: ds_cmpst_b64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xa0,0xd8,0x02,0x04,0x06,0x00]
387 ds_cmpst_f64 v2
, v
[4:5], v
[6:7]
388 // SICI
: ds_cmpst_f64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0x44,0xd9,0x02,0x04,0x06,0x00]
389 // VI
: ds_cmpst_f64 v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xa2,0xd8,0x02,0x04,0x06,0x00]
391 ds_min_f64 v2
, v
[4:5]
392 // SICI
: ds_min_f64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x48,0xd9,0x02,0x04,0x00,0x00]
393 // VI
: ds_min_f64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0xa4,0xd8,0x02,0x04,0x00,0x00]
395 ds_max_f64 v2
, v
[4:5]
396 // SICI
: ds_max_f64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0x4c,0xd9,0x02,0x04,0x00,0x00]
397 // VI
: ds_max_f64 v2
, v
[4:5] ; encoding
: [0x00,0x00,0xa6,0xd8,0x02,0x04,0x00,0x00]
399 ds_add_rtn_u64 v
[8:9], v2
, v
[4:5]
400 // SICI
: ds_add_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0x80,0xd9,0x02,0x04,0x00,0x08]
401 // VI
: ds_add_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xc0,0xd8,0x02,0x04,0x00,0x08]
403 ds_sub_rtn_u64 v
[8:9], v2
, v
[4:5]
404 // SICI
: ds_sub_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0x84,0xd9,0x02,0x04,0x00,0x08]
405 // VI
: ds_sub_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xc2,0xd8,0x02,0x04,0x00,0x08]
407 ds_rsub_rtn_u64 v
[8:9], v2
, v
[4:5]
408 // SICI
: ds_rsub_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0x88,0xd9,0x02,0x04,0x00,0x08]
409 // VI
: ds_rsub_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xc4,0xd8,0x02,0x04,0x00,0x08]
411 ds_inc_rtn_u64 v
[8:9], v2
, v
[4:5]
412 // SICI
: ds_inc_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0x8c,0xd9,0x02,0x04,0x00,0x08]
413 // VI
: ds_inc_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xc6,0xd8,0x02,0x04,0x00,0x08]
415 ds_dec_rtn_u64 v
[8:9] v2
, v
[4:5]
416 // SICI
: ds_dec_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0x90,0xd9,0x02,0x04,0x00,0x08]
417 // VI
: ds_dec_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xc8,0xd8,0x02,0x04,0x00,0x08]
419 ds_min_rtn_i64 v
[8:9], v2
, v
[4:5]
420 // SICI
: ds_min_rtn_i64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0x94,0xd9,0x02,0x04,0x00,0x08]
421 // VI
: ds_min_rtn_i64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xca,0xd8,0x02,0x04,0x00,0x08]
423 ds_max_rtn_i64 v
[8:9], v2
, v
[4:5]
424 // SICI
: ds_max_rtn_i64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0x98,0xd9,0x02,0x04,0x00,0x08]
425 // VI
: ds_max_rtn_i64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xcc,0xd8,0x02,0x04,0x00,0x08]
427 ds_min_rtn_u64 v
[8:9], v2
, v
[4:5]
428 // SICI
: ds_min_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0x9c,0xd9,0x02,0x04,0x00,0x08]
429 // VI
: ds_min_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xce,0xd8,0x02,0x04,0x00,0x08]
431 ds_max_rtn_u64 v
[8:9], v2
, v
[4:5]
432 // SICI
: ds_max_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xa0,0xd9,0x02,0x04,0x00,0x08]
433 // VI
: ds_max_rtn_u64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xd0,0xd8,0x02,0x04,0x00,0x08]
435 ds_and_rtn_b64 v
[8:9], v2
, v
[4:5]
436 // SICI
: ds_and_rtn_b64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xa4,0xd9,0x02,0x04,0x00,0x08]
437 // VI
: ds_and_rtn_b64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xd2,0xd8,0x02,0x04,0x00,0x08]
439 ds_or_rtn_b64 v
[8:9], v2
, v
[4:5]
440 // SICI
: ds_or_rtn_b64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xa8,0xd9,0x02,0x04,0x00,0x08]
441 // VI
: ds_or_rtn_b64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xd4,0xd8,0x02,0x04,0x00,0x08]
443 ds_xor_rtn_b64 v
[8:9], v2
, v
[4:5]
444 // SICI
: ds_xor_rtn_b64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xac,0xd9,0x02,0x04,0x00,0x08]
445 // VI
: ds_xor_rtn_b64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xd6,0xd8,0x02,0x04,0x00,0x08]
447 ds_mskor_rtn_b64 v
[8:9], v2
, v
[4:5], v
[6:7]
448 // SICI
: ds_mskor_rtn_b64 v
[8:9], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xb0,0xd9,0x02,0x04,0x06,0x08]
449 // VI
: ds_mskor_rtn_b64 v
[8:9], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xd8,0xd8,0x02,0x04,0x06,0x08]
451 ds_wrxchg_rtn_b64 v
[8:9], v2
, v
[4:5]
452 // SICI
: ds_wrxchg_rtn_b64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xb4,0xd9,0x02,0x04,0x00,0x08]
453 // VI
: ds_wrxchg_rtn_b64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xda,0xd8,0x02,0x04,0x00,0x08]
455 ds_wrxchg2_rtn_b64 v
[8:11], v2
, v
[4:5], v
[6:7]
456 // SICI
: ds_wrxchg2_rtn_b64 v
[8:11], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xb8,0xd9,0x02,0x04,0x06,0x08]
457 // VI
: ds_wrxchg2_rtn_b64 v
[8:11], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xdc,0xd8,0x02,0x04,0x06,0x08]
459 ds_wrxchg2_rtn_b64 v
[0:3], v0
, v
[1:2], v
[0:1] offset0
:127 offset1
:255
460 // SICI
: ds_wrxchg2_rtn_b64 v
[0:3], v0
, v
[1:2], v
[0:1] offset0
:127 offset1
:255 ; encoding
: [0x7f,0xff,0xb8,0xd9,0x00,0x01,0x00,0x00]
461 // VI
: ds_wrxchg2_rtn_b64 v
[0:3], v0
, v
[1:2], v
[0:1] offset0
:127 offset1
:255 ; encoding
: [0x7f,0xff,0xdc,0xd8,0x00,0x01,0x00,0x00]
463 ds_wrxchg2st64_rtn_b64 v
[8:11], v2
, v
[4:5], v
[6:7]
464 // SICI
: ds_wrxchg2st64_rtn_b64 v
[8:11], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xbc,0xd9,0x02,0x04,0x06,0x08]
465 // VI
: ds_wrxchg2st64_rtn_b64 v
[8:11], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xde,0xd8,0x02,0x04,0x06,0x08]
467 ds_wrxchg2st64_rtn_b64 v
[0:3], v255
, v
[0:1], v
[0:1] offset0
:127 offset1
:255
468 // SICI
: ds_wrxchg2st64_rtn_b64 v
[0:3], v255
, v
[0:1], v
[0:1] offset0
:127 offset1
:255 ; encoding
: [0x7f,0xff,0xbc,0xd9,0xff,0x00,0x00,0x00]
469 // VI
: ds_wrxchg2st64_rtn_b64 v
[0:3], v255
, v
[0:1], v
[0:1] offset0
:127 offset1
:255 ; encoding
: [0x7f,0xff,0xde,0xd8,0xff,0x00,0x00,0x00]
471 ds_cmpst_rtn_b64 v
[8:9], v2
, v
[4:5], v
[6:7]
472 // SICI
: ds_cmpst_rtn_b64 v
[8:9], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xc0,0xd9,0x02,0x04,0x06,0x08]
473 // VI
: ds_cmpst_rtn_b64 v
[8:9], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xe0,0xd8,0x02,0x04,0x06,0x08]
475 ds_cmpst_rtn_f64 v
[8:9], v2
, v
[4:5], v
[6:7]
476 // SICI
: ds_cmpst_rtn_f64 v
[8:9], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xc4,0xd9,0x02,0x04,0x06,0x08]
477 // VI
: ds_cmpst_rtn_f64 v
[8:9], v2
, v
[4:5], v
[6:7] ; encoding
: [0x00,0x00,0xe2,0xd8,0x02,0x04,0x06,0x08]
479 ds_min_rtn_f64 v
[8:9], v2
, v
[4:5]
480 // SICI
: ds_min_rtn_f64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xc8,0xd9,0x02,0x04,0x00,0x08]
481 // VI
: ds_min_rtn_f64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xe4,0xd8,0x02,0x04,0x00,0x08]
483 ds_max_rtn_f64 v
[8:9], v2
, v
[4:5]
484 // SICI
: ds_max_rtn_f64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xcc,0xd9,0x02,0x04,0x00,0x08]
485 // VI
: ds_max_rtn_f64 v
[8:9], v2
, v
[4:5] ; encoding
: [0x00,0x00,0xe6,0xd8,0x02,0x04,0x00,0x08]
487 ds_read_b64 v
[8:9], v2
488 // SICI
: ds_read_b64 v
[8:9], v2 ; encoding
: [0x00,0x00,0xd8,0xd9,0x02,0x00,0x00,0x08]
489 // VI
: ds_read_b64 v
[8:9], v2 ; encoding
: [0x00,0x00,0xec,0xd8,0x02,0x00,0x00,0x08]
491 ds_read2_b64 v
[8:11], v2
492 // SICI
: ds_read2_b64 v
[8:11], v2 ; encoding
: [0x00,0x00,0xdc,0xd9,0x02,0x00,0x00,0x08]
493 // VI
: ds_read2_b64 v
[8:11], v2 ; encoding
: [0x00,0x00,0xee,0xd8,0x02,0x00,0x00,0x08]
495 ds_read2st64_b64 v
[8:11], v2
496 // SICI
: ds_read2st64_b64 v
[8:11], v2 ; encoding
: [0x00,0x00,0xe0,0xd9,0x02,0x00,0x00,0x08]
497 // VI
: ds_read2st64_b64 v
[8:11], v2 ; encoding
: [0x00,0x00,0xf0,0xd8,0x02,0x00,0x00,0x08]
499 ds_read_b128 v
[8:11], v2
500 // NOSI
: error
: instruction
not supported on this GPU
501 // CI
: ds_read_b128 v
[8:11], v2 ; encoding
: [0x00,0x00,0xfc,0xdb,0x02,0x00,0x00,0x08]
502 // VI
: ds_read_b128 v
[8:11], v2 ; encoding
: [0x00,0x00,0xfe,0xd9,0x02,0x00,0x00,0x08]
504 ds_write_b128 v2
, v
[4:7]
505 // NOSI
: error
: instruction
not supported on this GPU
506 // CI
: ds_write_b128 v2
, v
[4:7] ; encoding
: [0x00,0x00,0x7c,0xdb,0x02,0x04,0x00,0x00]
507 // VI
: ds_write_b128 v2
, v
[4:7] ; encoding
: [0x00,0x00,0xbe,0xd9,0x02,0x04,0x00,0x00]
510 // NOSI
: error
: instruction
not supported on this GPU
511 // CI
: ds_nop ; encoding
: [0x00,0x00,0x50,0xd8,0x00,0x00,0x00,0x00]
512 // VI
: ds_nop ; encoding
: [0x00,0x00,0x28,0xd8,0x00,0x00,0x00,0x00]
514 //===----------------------------------------------------------------------===//
516 //===----------------------------------------------------------------------===//
518 ds_swizzle_b32 v8
, v2
519 // SICI
: ds_swizzle_b32 v8
, v2 ; encoding
: [0x00,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
520 // VI
: ds_swizzle_b32 v8
, v2 ; encoding
: [0x00,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
522 ds_swizzle_b32 v8
, v2 gds
523 // SICI
: ds_swizzle_b32 v8
, v2 gds ; encoding
: [0x00,0x00,0xd6,0xd8,0x02,0x00,0x00,0x08]
524 // VI
: ds_swizzle_b32 v8
, v2 gds ; encoding
: [0x00,0x00,0x7b,0xd8,0x02,0x00,0x00,0x08]
526 ds_swizzle_b32 v8
, v2 offset
:0xFFFF
527 // SICI
: ds_swizzle_b32 v8
, v2 offset
:65535 ; encoding
: [0xff,0xff,0xd4,0xd8,0x02,0x00,0x00,0x08]
528 // VI
: ds_swizzle_b32 v8
, v2 offset
:65535 ; encoding
: [0xff,0xff,0x7a,0xd8,0x02,0x00,0x00,0x08]
530 ds_swizzle_b32 v8
, v2 offset
:swizzle
(QUAD_PERM
, 0, 1, 2, 3)
531 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(QUAD_PERM
,0,1,2,3) ; encoding
: [0xe4,0x80,0xd4,0xd8,0x02,0x00,0x00,0x08]
532 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(QUAD_PERM
,0,1,2,3) ; encoding
: [0xe4,0x80,0x7a,0xd8,0x02,0x00,0x00,0x08]
534 ds_swizzle_b32 v8
, v2 offset
:swizzle
(QUAD_PERM
, 2, 1, 3, 3)
535 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(QUAD_PERM
,2,1,3,3) ; encoding
: [0xf6,0x80,0xd4,0xd8,0x02,0x00,0x00,0x08]
536 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(QUAD_PERM
,2,1,3,3) ; encoding
: [0xf6,0x80,0x7a,0xd8,0x02,0x00,0x00,0x08]
538 ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,1)
539 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,1) ; encoding
: [0x1f,0x04,0xd4,0xd8,0x02,0x00,0x00,0x08]
540 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,1) ; encoding
: [0x1f,0x04,0x7a,0xd8,0x02,0x00,0x00,0x08]
542 ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,2)
543 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,2) ; encoding
: [0x1f,0x08,0xd4,0xd8,0x02,0x00,0x00,0x08]
544 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,2) ; encoding
: [0x1f,0x08,0x7a,0xd8,0x02,0x00,0x00,0x08]
546 ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,4)
547 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,4) ; encoding
: [0x1f,0x10,0xd4,0xd8,0x02,0x00,0x00,0x08]
548 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,4) ; encoding
: [0x1f,0x10,0x7a,0xd8,0x02,0x00,0x00,0x08]
550 ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,8)
551 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,8) ; encoding
: [0x1f,0x20,0xd4,0xd8,0x02,0x00,0x00,0x08]
552 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,8) ; encoding
: [0x1f,0x20,0x7a,0xd8,0x02,0x00,0x00,0x08]
554 ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,16)
555 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,16) ; encoding
: [0x1f,0x40,0xd4,0xd8,0x02,0x00,0x00,0x08]
556 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,16) ; encoding
: [0x1f,0x40,0x7a,0xd8,0x02,0x00,0x00,0x08]
558 ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,2)
559 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,1) ; encoding
: [0x1f,0x04,0xd4,0xd8,0x02,0x00,0x00,0x08]
560 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(SWAP
,1) ; encoding
: [0x1f,0x04,0x7a,0xd8,0x02,0x00,0x00,0x08]
562 ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,4)
563 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,4) ; encoding
: [0x1f,0x0c,0xd4,0xd8,0x02,0x00,0x00,0x08]
564 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,4) ; encoding
: [0x1f,0x0c,0x7a,0xd8,0x02,0x00,0x00,0x08]
566 ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,8)
567 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,8) ; encoding
: [0x1f,0x1c,0xd4,0xd8,0x02,0x00,0x00,0x08]
568 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,8) ; encoding
: [0x1f,0x1c,0x7a,0xd8,0x02,0x00,0x00,0x08]
570 ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,16)
571 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,16) ; encoding
: [0x1f,0x3c,0xd4,0xd8,0x02,0x00,0x00,0x08]
572 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,16) ; encoding
: [0x1f,0x3c,0x7a,0xd8,0x02,0x00,0x00,0x08]
574 ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,32)
575 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,32) ; encoding
: [0x1f,0x7c,0xd4,0xd8,0x02,0x00,0x00,0x08]
576 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,32) ; encoding
: [0x1f,0x7c,0x7a,0xd8,0x02,0x00,0x00,0x08]
578 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,2,1)
579 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,2,1) ; encoding
: [0x3e,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
580 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,2,1) ; encoding
: [0x3e,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
582 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,4,1)
583 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,4,1) ; encoding
: [0x3c,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
584 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,4,1) ; encoding
: [0x3c,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
586 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,8,1)
587 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,8,1) ; encoding
: [0x38,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
588 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,8,1) ; encoding
: [0x38,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
590 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,16,1)
591 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,16,1) ; encoding
: [0x30,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
592 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,16,1) ; encoding
: [0x30,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
594 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,32,1)
595 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,32,1) ; encoding
: [0x20,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
596 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,32,1) ; encoding
: [0x20,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
598 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,2,0)
599 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,2,0) ; encoding
: [0x1e,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
600 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,2,0) ; encoding
: [0x1e,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
602 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,4,3)
603 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,4,3) ; encoding
: [0x7c,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
604 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,4,3) ; encoding
: [0x7c,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
606 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,8,7)
607 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,8,7) ; encoding
: [0xf8,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
608 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,8,7) ; encoding
: [0xf8,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
610 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,16,15)
611 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,16,15) ; encoding
: [0xf0,0x01,0xd4,0xd8,0x02,0x00,0x00,0x08]
612 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,16,15) ; encoding
: [0xf0,0x01,0x7a,0xd8,0x02,0x00,0x00,0x08]
614 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,32,31)
615 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,32,31) ; encoding
: [0xe0,0x03,0xd4,0xd8,0x02,0x00,0x00,0x08]
616 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,32,31) ; encoding
: [0xe0,0x03,0x7a,0xd8,0x02,0x00,0x00,0x08]
618 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
, "pppii")
619 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,4) ; encoding
: [0x1f,0x0c,0xd4,0xd8,0x02,0x00,0x00,0x08]
620 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(REVERSE
,4) ; encoding
: [0x1f,0x0c,0x7a,0xd8,0x02,0x00,0x00,0x08]
622 ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
, "01pip")
623 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"01pip") ; encoding
: [0x07,0x09,0xd4,0xd8,0x02,0x00,0x00,0x08]
624 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"01pip") ; encoding
: [0x07,0x09,0x7a,0xd8,0x02,0x00,0x00,0x08]
626 ds_swizzle_b32 v8
, v2 offset
:0x000
627 // SICI
: ds_swizzle_b32 v8
, v2 ; encoding
: [0x00,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
628 // VI
: ds_swizzle_b32 v8
, v2 ; encoding
: [0x00,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
630 ds_swizzle_b32 v8
, v2 offset
:0x001
631 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"0000p") ; encoding
: [0x01,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
632 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"0000p") ; encoding
: [0x01,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
634 ds_swizzle_b32 v8
, v2 offset
:0x020
635 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,32,1) ; encoding
: [0x20,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
636 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BROADCAST
,32,1) ; encoding
: [0x20,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
638 ds_swizzle_b32 v8
, v2 offset
:0x021
639 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"00001") ; encoding
: [0x21,0x00,0xd4,0xd8,0x02,0x00,0x00,0x08]
640 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"00001") ; encoding
: [0x21,0x00,0x7a,0xd8,0x02,0x00,0x00,0x08]
642 ds_swizzle_b32 v8
, v2 offset
:0x400
643 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"00001") ; encoding
: [0x00,0x04,0xd4,0xd8,0x02,0x00,0x00,0x08]
644 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"00001") ; encoding
: [0x00,0x04,0x7a,0xd8,0x02,0x00,0x00,0x08]
646 ds_swizzle_b32 v8
, v2 offset
:0x401
647 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"0000i") ; encoding
: [0x01,0x04,0xd4,0xd8,0x02,0x00,0x00,0x08]
648 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"0000i") ; encoding
: [0x01,0x04,0x7a,0xd8,0x02,0x00,0x00,0x08]
650 ds_swizzle_b32 v8
, v2 offset
:0x420
651 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"00000") ; encoding
: [0x20,0x04,0xd4,0xd8,0x02,0x00,0x00,0x08]
652 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"00000") ; encoding
: [0x20,0x04,0x7a,0xd8,0x02,0x00,0x00,0x08]
654 ds_swizzle_b32 v8
, v2 offset
:0x421
655 // SICI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"00000") ; encoding
: [0x21,0x04,0xd4,0xd8,0x02,0x00,0x00,0x08]
656 // VI
: ds_swizzle_b32 v8
, v2 offset
:swizzle
(BITMASK_PERM
,"00000") ; encoding
: [0x21,0x04,0x7a,0xd8,0x02,0x00,0x00,0x08]