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