[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / AMDGPU / gfx90a_err.s
blob3388db0c94a81f431d66a766207f15a494f79b1b
1 // RUN: not llvm-mc -arch=amdgcn -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefix=GFX90A --implicit-check-not=error: %s
3 ds_add_src2_u32 v1
4 // GFX90A: error: instruction not supported on this GPU
6 ds_add_src2_f32 v1
7 // GFX90A: error: instruction not supported on this GPU
9 ds_sub_src2_u32 v1
10 // GFX90A: error: instruction not supported on this GPU
12 ds_rsub_src2_u32 v1
13 // GFX90A: error: instruction not supported on this GPU
15 ds_inc_src2_u32 v1
16 // GFX90A: error: instruction not supported on this GPU
18 ds_dec_src2_u32 v1
19 // GFX90A: error: instruction not supported on this GPU
21 ds_min_src2_i32 v1
22 // GFX90A: error: instruction not supported on this GPU
24 ds_max_src2_i32 v1
25 // GFX90A: error: instruction not supported on this GPU
27 ds_min_src2_u32 v1
28 // GFX90A: error: instruction not supported on this GPU
30 ds_max_src2_u32 v1
31 // GFX90A: error: instruction not supported on this GPU
33 ds_and_src2_b32 v1
34 // GFX90A: error: instruction not supported on this GPU
36 ds_or_src2_b32 v1
37 // GFX90A: error: instruction not supported on this GPU
39 ds_xor_src2_b32 v1
40 // GFX90A: error: instruction not supported on this GPU
42 ds_min_src2_f32 v1
43 // GFX90A: error: instruction not supported on this GPU
45 ds_max_src2_f32 v1
46 // GFX90A: error: instruction not supported on this GPU
48 ds_add_src2_u64 v1
49 // GFX90A: error: instruction not supported on this GPU
51 ds_sub_src2_u64 v1
52 // GFX90A: error: instruction not supported on this GPU
54 ds_rsub_src2_u64 v1
55 // GFX90A: error: instruction not supported on this GPU
57 ds_inc_src2_u64 v1
58 // GFX90A: error: instruction not supported on this GPU
60 ds_dec_src2_u64 v1
61 // GFX90A: error: instruction not supported on this GPU
63 ds_min_src2_i64 v1
64 // GFX90A: error: instruction not supported on this GPU
66 ds_max_src2_i64 v1
67 // GFX90A: error: instruction not supported on this GPU
69 ds_min_src2_u64 v1
70 // GFX90A: error: instruction not supported on this GPU
72 ds_max_src2_u64 v1
73 // GFX90A: error: instruction not supported on this GPU
75 ds_and_src2_b64 v1
76 // GFX90A: error: instruction not supported on this GPU
78 ds_or_src2_b64 v1
79 // GFX90A: error: instruction not supported on this GPU
81 ds_xor_src2_b64 v1
82 // GFX90A: error: instruction not supported on this GPU
84 ds_min_src2_f64 v1
85 // GFX90A: error: instruction not supported on this GPU
87 ds_max_src2_f64 v1
88 // GFX90A: error: instruction not supported on this GPU
90 ds_write_src2_b32 v1
91 // GFX90A: error: instruction not supported on this GPU
93 ds_write_src2_b64 v1
94 // GFX90A: error: instruction not supported on this GPU
96 image_gather4 v[5:8], v1, s[8:15], s[12:15]
97 // GFX90A: error: instruction not supported on this GPU
99 image_get_lod v5, v1, s[8:15], s[12:15]
100 // GFX90A: error: instruction not supported on this GPU
102 v_mul_legacy_f32_e32 v5, v1, v2
103 // GFX90A: error: e32 variant of this instruction is not supported
105 v_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
108 v_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
111 v_interp_p1_f32 v5, v1, attr0.x
112 // GFX90A: error: instruction not supported on this GPU
114 v_interp_p1_f32_e64 v5, v2, attr0.x
115 // GFX90A: error: instruction not supported on this GPU
117 v_interp_p2_f32 v5, v1, attr0.x
118 // GFX90A: error: instruction not supported on this GPU
120 v_interp_mov_f32 v5, p10, attr0.x
121 // GFX90A: error: instruction not supported on this GPU
123 v_interp_p1ll_f16 v5, v2, attr0.x
124 // GFX90A: error: instruction not supported on this GPU
126 v_interp_p1lv_f16 v5, v2, attr0.x, v3
127 // GFX90A: error: instruction not supported on this GPU
129 v_interp_p2_legacy_f16 v5, v2, attr0.x, v3
130 // GFX90A: error: instruction not supported on this GPU
132 v_interp_p2_f16 v5, v2, attr0.x, v3
133 // GFX90A: error: instruction not supported on this GPU
135 v_mov_b32_dpp v5, v1 row_share:1 row_mask:0x0 bank_mask:0x0
136 // GFX90A: error: not a valid operand
138 v_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
141 v_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
144 v_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
147 v_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
150 v_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.
153 flat_atomic_add v2, v[2:3], a2 glc
154 // GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
156 flat_atomic_add a2, v[2:3], v2 glc
157 // GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
159 tbuffer_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
162 buffer_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
165 ds_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
168 ds_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
171 ds_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
174 ds_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
177 ds_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
180 image_load v[0:4], v2, s[0:7] dmask:0xf unorm tfe
181 // GFX90A: error: operands are not valid for this GPU or mode
183 image_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
186 image_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
189 image_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
192 image_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
195 image_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
198 image_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
201 global_atomic_add_f32 v0, v[0:1], v2, off glc scc
202 // GFX90A: error: scc is not supported on this GPU
204 global_atomic_add_f32 v[0:1], v2, off scc
205 // GFX90A: error: scc is not supported on this GPU
207 global_atomic_add_f32 v0, v2, s[0:1] scc
208 // GFX90A: error: scc is not supported on this GPU
210 global_atomic_add_f32 v1, v0, v2, s[0:1] glc scc
211 // GFX90A: error: scc is not supported on this GPU
213 global_atomic_pk_add_f16 v0, v[0:1], v2, off glc scc
214 // GFX90A: error: scc is not supported on this GPU
216 flat_atomic_add_f64 v[0:1], v[0:1], v[2:3] glc scc
217 // GFX90A: error: scc is not supported on this GPU
219 flat_atomic_add_f64 v[0:1], v[2:3] scc
220 // GFX90A: error: scc is not supported on this GPU
222 flat_atomic_min_f64 v[0:1], v[2:3] scc
223 // GFX90A: error: scc is not supported on this GPU
225 flat_atomic_max_f64 v[0:1], v[2:3] scc
226 // GFX90A: error: scc is not supported on this GPU
228 global_atomic_add_f64 v[0:1], v[2:3], off scc
229 // GFX90A: error: scc is not supported on this GPU
231 global_atomic_min_f64 v[0:1], v[2:3], off scc
232 // GFX90A: error: scc is not supported on this GPU
234 global_atomic_max_f64 v[0:1], v[2:3], off scc
235 // GFX90A: error: scc is not supported on this GPU
237 buffer_atomic_add_f32 v4, off, s[8:11], s3 scc
238 // GFX90A: error: scc is not supported on this GPU
240 buffer_atomic_pk_add_f16 v4, off, s[8:11], s3 scc
241 // GFX90A: error: scc is not supported on this GPU
243 buffer_atomic_add_f64 v[4:5], off, s[8:11], s3 scc
244 // GFX90A: error: scc is not supported on this GPU
246 buffer_atomic_max_f64 v[4:5], off, s[8:11], s3 scc
247 // GFX90A: error: scc is not supported on this GPU
249 buffer_atomic_min_f64 v[4:5], off, s[8:11], s3 scc
250 // GFX90A: error: scc is not supported on this GPU
252 v_mov_b32_sdwa v1, src_lds_direct dst_sel:DWORD
253 // GFX90A: error: lds_direct is not supported on this GPU
255 v_add_f32_sdwa v5, v1, lds_direct dst_sel:DWORD
256 // GFX90A: error: lds_direct is not supported on this GPU
258 v_ashrrev_i16 v0, lds_direct, v0
259 // GFX90A: error: lds_direct is not supported on this GPU
261 v_add_f32 v5, v1, lds_direct
262 // GFX90A: error: lds_direct is not supported on this GPU
264 ds_gws_init a1 offset:65535 gds
265 // GFX90A: error: vgpr must be even aligned
267 ds_gws_init a255 offset:65535 gds
268 // GFX90A: error: vgpr must be even aligned
270 ds_gws_sema_br v1 offset:65535 gds
271 // GFX90A: error: vgpr must be even aligned
273 ds_gws_sema_br v255 offset:65535 gds
274 // GFX90A: error: vgpr must be even aligned
276 ds_gws_barrier a3 offset:4 gds
277 // GFX90A: error: vgpr must be even aligned
279 ds_gws_barrier a255 offset:4 gds
280 // GFX90A: error: vgpr must be even aligned