1// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefix=GFX90A --implicit-check-not=error: %s
2
3ds_add_src2_u32 v1
4// GFX90A: error: instruction not supported on this GPU
5
6ds_add_src2_f32 v1
7// GFX90A: error: instruction not supported on this GPU
8
9ds_sub_src2_u32 v1
10// GFX90A: error: instruction not supported on this GPU
11
12ds_rsub_src2_u32 v1
13// GFX90A: error: instruction not supported on this GPU
14
15ds_inc_src2_u32 v1
16// GFX90A: error: instruction not supported on this GPU
17
18ds_dec_src2_u32 v1
19// GFX90A: error: instruction not supported on this GPU
20
21ds_min_src2_i32 v1
22// GFX90A: error: instruction not supported on this GPU
23
24ds_max_src2_i32 v1
25// GFX90A: error: instruction not supported on this GPU
26
27ds_min_src2_u32 v1
28// GFX90A: error: instruction not supported on this GPU
29
30ds_max_src2_u32 v1
31// GFX90A: error: instruction not supported on this GPU
32
33ds_and_src2_b32 v1
34// GFX90A: error: instruction not supported on this GPU
35
36ds_or_src2_b32 v1
37// GFX90A: error: instruction not supported on this GPU
38
39ds_xor_src2_b32 v1
40// GFX90A: error: instruction not supported on this GPU
41
42ds_min_src2_f32 v1
43// GFX90A: error: instruction not supported on this GPU
44
45ds_max_src2_f32 v1
46// GFX90A: error: instruction not supported on this GPU
47
48ds_add_src2_u64 v1
49// GFX90A: error: instruction not supported on this GPU
50
51ds_sub_src2_u64 v1
52// GFX90A: error: instruction not supported on this GPU
53
54ds_rsub_src2_u64 v1
55// GFX90A: error: instruction not supported on this GPU
56
57ds_inc_src2_u64 v1
58// GFX90A: error: instruction not supported on this GPU
59
60ds_dec_src2_u64 v1
61// GFX90A: error: instruction not supported on this GPU
62
63ds_min_src2_i64 v1
64// GFX90A: error: instruction not supported on this GPU
65
66ds_max_src2_i64 v1
67// GFX90A: error: instruction not supported on this GPU
68
69ds_min_src2_u64 v1
70// GFX90A: error: instruction not supported on this GPU
71
72ds_max_src2_u64 v1
73// GFX90A: error: instruction not supported on this GPU
74
75ds_and_src2_b64 v1
76// GFX90A: error: instruction not supported on this GPU
77
78ds_or_src2_b64 v1
79// GFX90A: error: instruction not supported on this GPU
80
81ds_xor_src2_b64 v1
82// GFX90A: error: instruction not supported on this GPU
83
84ds_min_src2_f64 v1
85// GFX90A: error: instruction not supported on this GPU
86
87ds_max_src2_f64 v1
88// GFX90A: error: instruction not supported on this GPU
89
90ds_write_src2_b32 v1
91// GFX90A: error: instruction not supported on this GPU
92
93ds_write_src2_b64 v1
94// GFX90A: error: instruction not supported on this GPU
95
96image_gather4 v[5:8], v1, s[8:15], s[12:15]
97// GFX90A: error: instruction not supported on this GPU
98
99image_get_lod v5, v1, s[8:15], s[12:15]
100// GFX90A: error: instruction not supported on this GPU
101
102v_mul_legacy_f32_e32 v5, v1, v2
103// GFX90A: error: e32 variant of this instruction is not supported
104
105v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
106// GFX90A: error: sdwa variant of this instruction is not supported
107
108v_mul_legacy_f32_dpp v5, v1, v2  quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
109// GFX90A: error: dpp variant of this instruction is not supported
110
111v_interp_p1_f32 v5, v1, attr0.x
112// GFX90A: error: instruction not supported on this GPU
113
114v_interp_p1_f32_e64 v5, v2, attr0.x
115// GFX90A: error: instruction not supported on this GPU
116
117v_interp_p2_f32 v5, v1, attr0.x
118// GFX90A: error: instruction not supported on this GPU
119
120v_interp_mov_f32 v5, p10, attr0.x
121// GFX90A: error: instruction not supported on this GPU
122
123v_interp_p1ll_f16 v5, v2, attr0.x
124// GFX90A: error: instruction not supported on this GPU
125
126v_interp_p1lv_f16 v5, v2, attr0.x, v3
127// GFX90A: error: instruction not supported on this GPU
128
129v_interp_p2_legacy_f16 v5, v2, attr0.x, v3
130// GFX90A: error: instruction not supported on this GPU
131
132v_interp_p2_f16 v5, v2, attr0.x, v3
133// GFX90A: error: instruction not supported on this GPU
134
135v_mov_b32_dpp v5, v1 row_share:1 row_mask:0x0 bank_mask:0x0
136// GFX90A: error: not a valid operand
137
138v_ceil_f64_dpp v[0:1], v[2:3] quad_perm:[1,1,1,1] row_mask:0xf bank_mask:0xf
139// GFX90A: error: 64 bit dpp only supports row_newbcast
140
141v_ceil_f64_dpp v[0:1], v[2:3] row_shl:1 row_mask:0xf bank_mask:0xf
142// GFX90A: error: 64 bit dpp only supports row_newbcast
143
144v_ceil_f64_dpp v[0:1], v[2:3] wave_ror:1 row_mask:0xf bank_mask:0xf
145// GFX90A: error: 64 bit dpp only supports row_newbcast
146
147v_cvt_u32_f64 v5, v[0:1] quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf
148// GFX90A: error: 64 bit dpp only supports row_newbcast
149
150v_ceil_f64_dpp v[0:1], v[2:3] row_share:1 row_mask:0xf bank_mask:0xf
151// GFX90A: error: not a valid operand.
152
153flat_atomic_add v2, v[2:3], a2 glc
154// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
155
156flat_atomic_add a2, v[2:3], v2 glc
157// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
158
159tbuffer_store_format_xyzw v[0:3], off, s[4:7],  dfmt:15,  nfmt:2, s1 tfe
160// GFX90A: error: operands are not valid for this GPU or mode
161
162buffer_store_dwordx4 v[0:3], off, s[12:15], s4 offset:4095 glc tfe
163// GFX90A: error: operands are not valid for this GPU or mode
164
165ds_write2_b64 v1, a[4:5], v[2:3] offset1:255
166// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
167
168ds_write2_b64 v1, v[4:5], a[2:3] offset1:255
169// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
170
171ds_write2_b64 v1, a[4:5], v[2:3] offset1:255 gds
172// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
173
174ds_write2_b64 v1, v[4:5], a[2:3] offset1:255 gds
175// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
176
177ds_wrxchg2st64_rtn_b32 v[6:7], v1, a2, a3 offset0:127
178// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
179
180image_load v[0:4], v2, s[0:7] dmask:0xf unorm tfe
181// GFX90A: error: operands are not valid for this GPU or mode
182
183image_sample_lz v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
184// GFX90A: error: instruction not supported on this GPU
185
186image_sample_d v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
187// GFX90A: error: instruction not supported on this GPU
188
189image_sample_o v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
190// GFX90A: error: instruction not supported on this GPU
191
192image_sample_cl v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
193// GFX90A: error: instruction not supported on this GPU
194
195image_sample_cd v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
196// GFX90A: error: instruction not supported on this GPU
197
198image_sample_b v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
199// GFX90A: error: instruction not supported on this GPU
200
201global_atomic_add_f32 v0, v[0:1], v2, off glc scc
202// GFX90A: error: scc is not supported on this GPU
203
204global_atomic_add_f32 v[0:1], v2, off scc
205// GFX90A: error: scc is not supported on this GPU
206
207global_atomic_add_f32 v0, v2, s[0:1] scc
208// GFX90A: error: scc is not supported on this GPU
209
210global_atomic_add_f32 v1, v0, v2, s[0:1] glc scc
211// GFX90A: error: scc is not supported on this GPU
212
213global_atomic_pk_add_f16 v0, v[0:1], v2, off glc scc
214// GFX90A: error: scc is not supported on this GPU
215
216flat_atomic_add_f64 v[0:1], v[0:1], v[2:3] glc scc
217// GFX90A: error: scc is not supported on this GPU
218
219flat_atomic_add_f64 v[0:1], v[2:3] scc
220// GFX90A: error: scc is not supported on this GPU
221
222flat_atomic_min_f64 v[0:1], v[2:3] scc
223// GFX90A: error: scc is not supported on this GPU
224
225flat_atomic_max_f64 v[0:1], v[2:3] scc
226// GFX90A: error: scc is not supported on this GPU
227
228global_atomic_add_f64 v[0:1], v[2:3], off scc
229// GFX90A: error: scc is not supported on this GPU
230
231global_atomic_min_f64 v[0:1], v[2:3], off scc
232// GFX90A: error: scc is not supported on this GPU
233
234global_atomic_max_f64 v[0:1], v[2:3], off scc
235// GFX90A: error: scc is not supported on this GPU
236
237buffer_atomic_add_f32 v4, off, s[8:11], s3 scc
238// GFX90A: error: scc is not supported on this GPU
239
240buffer_atomic_pk_add_f16 v4, off, s[8:11], s3 scc
241// GFX90A: error: scc is not supported on this GPU
242
243buffer_atomic_add_f64 v[4:5], off, s[8:11], s3 scc
244// GFX90A: error: scc is not supported on this GPU
245
246buffer_atomic_max_f64 v[4:5], off, s[8:11], s3 scc
247// GFX90A: error: scc is not supported on this GPU
248
249buffer_atomic_min_f64 v[4:5], off, s[8:11], s3 scc
250// GFX90A: error: scc is not supported on this GPU
251
252v_mov_b32_sdwa v1, src_lds_direct dst_sel:DWORD
253// GFX90A: error: lds_direct is not supported on this GPU
254
255v_add_f32_sdwa v5, v1, lds_direct dst_sel:DWORD
256// GFX90A: error: lds_direct is not supported on this GPU
257
258v_ashrrev_i16 v0, lds_direct, v0
259// GFX90A: error: lds_direct is not supported on this GPU
260
261v_add_f32 v5, v1, lds_direct
262// GFX90A: error: lds_direct is not supported on this GPU
263
264ds_gws_init a1 offset:65535 gds
265// GFX90A: error: vgpr must be even aligned
266
267ds_gws_init a255 offset:65535 gds
268// GFX90A: error: vgpr must be even aligned
269
270ds_gws_sema_br v1 offset:65535 gds
271// GFX90A: error: vgpr must be even aligned
272
273ds_gws_sema_br v255 offset:65535 gds
274// GFX90A: error: vgpr must be even aligned
275
276ds_gws_barrier a3 offset:4 gds
277// GFX90A: error: vgpr must be even aligned
278
279ds_gws_barrier a255 offset:4 gds
280// GFX90A: error: vgpr must be even aligned
281