1 // RUN
: not llvm-mc
-triple
=amdgcn
-mcpu
=gfx90a
%s
2>&1 | FileCheck
--check-prefix
=GFX90A
--implicit-check-
not=error
: %s
4 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
7 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
10 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
13 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
16 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
19 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
22 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
25 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
28 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
31 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
34 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
37 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
40 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
43 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
46 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
49 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
52 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
55 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
58 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
61 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
64 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
67 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
70 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
73 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
76 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
79 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
82 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
85 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
88 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
91 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
94 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
96 image_gather4 v
[5:8], v1
, s
[8:15], s
[12:15]
97 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
99 image_gather4h v
[251:254], v
[1:2], s
[8:15], s
[12:15] dmask
:0x1
100 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
102 image_get_lod v5
, v1
, s
[8:15], s
[12:15]
103 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
105 v_mul_legacy_f32_e32 v5
, v1
, v2
106 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: e32 variant of this instruction is
not supported
108 v_mul_legacy_f32_sdwa v5
, v1
, v2 dst_sel
:DWORD dst_unused
:UNUSED_PAD src0_sel
:DWORD src1_sel
:DWORD
109 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: sdwa variant of this instruction is
not supported
111 v_mul_legacy_f32_dpp v5
, v1
, v2 quad_perm
:[0,1,2,3] row_mask
:0x0 bank_mask
:0x0
112 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: dpp variant of this instruction is
not supported
114 v_interp_p1_f32 v5
, v1
, attr0.x
115 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
117 v_interp_p1_f32_e64 v5
, v2
, attr0.x
118 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
120 v_interp_p2_f32 v5
, v1
, attr0.x
121 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
123 v_interp_mov_f32 v5
, p10
, attr0.x
124 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
126 v_interp_p1ll_f16 v5
, v2
, attr0.x
127 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
129 v_interp_p1lv_f16 v5
, v2
, attr0.x
, v3
130 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
132 v_interp_p2_legacy_f16 v5
, v2
, attr0.x
, v3
133 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
135 v_interp_p2_f16 v5
, v2
, attr0.x
, v3
136 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
138 v_mov_b32_dpp v5
, v1 row_share
:1 row_mask
:0x0 bank_mask
:0x0
139 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: not a valid operand
141 v_ceil_f64_dpp v
[0:1], v
[2:3] quad_perm
:[1,1,1,1] row_mask
:0xf bank_mask
:0xf
142 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: DP ALU dpp only supports row_newbcast
144 v_ceil_f64_dpp v
[0:1], v
[2:3] row_shl
:1 row_mask
:0xf bank_mask
:0xf
145 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: DP ALU dpp only supports row_newbcast
147 v_ceil_f64_dpp v
[0:1], v
[2:3] wave_ror
:1 row_mask
:0xf bank_mask
:0xf
148 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: DP ALU dpp only supports row_newbcast
150 v_cvt_u32_f64 v5
, v
[0:1] quad_perm
:[0,2,1,1] row_mask
:0xf bank_mask
:0xf
151 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: DP ALU dpp only supports row_newbcast
153 v_ceil_f64_dpp v
[0:1], v
[2:3] row_share
:1 row_mask
:0xf bank_mask
:0xf
154 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: not a valid operand.
156 flat_atomic_add v2
, v
[2:3], a2 glc
157 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid register class
: data
and dst should
be all VGPR
or AGPR
159 flat_atomic_add a2
, v
[2:3], v2 glc
160 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid register class
: data
and dst should
be all VGPR
or AGPR
162 tbuffer_store_format_xyzw v
[0:3], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 tfe
163 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
165 buffer_store_dwordx4 v
[0:3], off
, s
[12:15], s4 offset
:4095 glc tfe
166 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
168 ds_write2_b64 v1
, a[4:5], v
[2:3] offset1
:255
169 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid register class
: data
and dst should
be all VGPR
or AGPR
171 ds_write2_b64 v1
, v
[4:5], a[2:3] offset1
:255
172 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid register class
: data
and dst should
be all VGPR
or AGPR
174 ds_wrxchg2st64_rtn_b32 v
[6:7], v1
, a2
, a3 offset0
:127
175 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid register class
: data
and dst should
be all VGPR
or AGPR
177 image_load v
[0:4], v2
, s
[0:7] dmask
:0xf unorm tfe
178 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid operand for instruction
180 image_sample_lz v
[0:3], v
[0:1], s
[4:11], s
[16:19] dmask
:0xf
181 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
183 image_sample_d v
[0:3], v
[0:1], s
[4:11], s
[16:19] dmask
:0xf
184 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
186 image_sample_o v
[0:3], v
[0:1], s
[4:11], s
[16:19] dmask
:0xf
187 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
189 image_sample_cl v
[0:3], v
[0:1], s
[4:11], s
[16:19] dmask
:0xf
190 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
192 image_sample_cd v
[0:3], v
[0:1], s
[4:11], s
[16:19] dmask
:0xf
193 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
195 image_sample_b v
[0:3], v
[0:1], s
[4:11], s
[16:19] dmask
:0xf
196 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
198 v_mov_b32_sdwa v1
, src_lds_direct dst_sel
:DWORD
199 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: lds_direct is
not supported on this GPU
201 v_add_f32_sdwa v5
, v1
, lds_direct dst_sel
:DWORD
202 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: lds_direct is
not supported on this GPU
204 v_ashrrev_i16 v0
, lds_direct
, v0
205 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: lds_direct is
not supported on this GPU
207 v_add_f32 v5
, v1
, lds_direct
208 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: lds_direct is
not supported on this GPU
210 ds_gws_init a1 offset
:65535 gds
211 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: vgpr must
be even aligned
213 ds_gws_init a255 offset
:65535 gds
214 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: vgpr must
be even aligned
216 ds_gws_sema_br v1 offset
:65535 gds
217 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: vgpr must
be even aligned
219 ds_gws_sema_br v255 offset
:65535 gds
220 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: vgpr must
be even aligned
222 ds_gws_barrier a3 offset
:4 gds
223 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: vgpr must
be even aligned
225 ds_gws_barrier a255 offset
:4 gds
226 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: vgpr must
be even aligned
228 ds_ordered_count v5
, v1 offset
:65535 gds
229 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
231 exp pos0 v3
, v2
, v1
, v0
232 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
234 global_load_lds_dword v
[2:3], off
235 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
237 scratch_load_lds_dword v2
, off
238 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: instruction
not supported on this GPU
240 ds_read_b32 v0
, v1 gds
241 // GFX90A
: :[[@LINE-
1]]:{{[0-9]+}}: error
: gds modifier is
not supported on this GPU