1// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1100 %s 2>&1 | FileCheck --check-prefix=GFX11 --implicit-check-not=error: %s 2 3s_delay_alu 4// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction 5 6s_delay_alu instid9(VALU_DEP_1) 7// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid field name instid9 8 9s_delay_alu instid0(VALU_DEP_9) 10// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value name VALU_DEP_9 11 12s_delay_alu instid0(1) 13// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a value name 14 15s_delay_alu instid0(VALU_DEP_9|) 16// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a right parenthesis 17 18s_delay_alu instid0(VALU_DEP_1) | (SALU_CYCLE_1) 19// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a field name 20 21s_delay_alu instid0(VALU_DEP_1) | SALU_CYCLE_1) 22// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a left parenthesis 23 24lds_direct_load v15 wait_vdst:16 25// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid wait_vdst value. 26 27lds_direct_load v15 wait_vdst 28// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 29 30v_interp_p10_f32 v0, v1, v2, v3 wait_exp:8 31// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid wait_exp value. 32 33v_interp_p2_f32 v0, -v1, v2, v3 wait_exp 34// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 35 36global_atomic_cmpswap_x2 v[1:4], v3, v[5:8], off offset:2047 glc 37// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 38 39// s_waitcnt_depctr is called s_wait_alu on GFX12, but its semantics and 40// encoding are identical. Even so, the new name should be rejected on GFX11 41s_wait_alu 0xfffe 42// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 43 44v_cubesc_f32_e64_dpp v5, v1, v2, 12345678 row_shr:4 row_mask:0xf bank_mask:0xf 45// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 46 47v_add3_u32_e64_dpp v5, v1, v2, 49812340 dpp8:[7,6,5,4,3,2,1,0] 48// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 49 50v_add3_u32_e64_dpp v5, v1, s1, v0 dpp8:[7,6,5,4,3,2,1,0] 51// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 52 53v_add3_u32_e64_dpp v5, v1, 42, v0 dpp8:[7,6,5,4,3,2,1,0] 54// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 immediate operand invalid for instruction 55 56v_add3_u32_e64_dpp v5, v1, s2, v3 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf 57// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 58 59v_add3_u32_e64_dpp v5, v1, 42, v3 quad_perm:[3,2,1,0] row_mask:0xf bank_mask:0xf 60// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 immediate operand invalid for instruction 61 62v_cvt_f32_i32_e64_dpp v5, s1 dpp8:[7,6,5,4,3,2,1,0] 63// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 64 65v_cvt_f32_i32_e64_dpp v5, s1 row_shl:15 row_mask:0xf bank_mask:0xf 66// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 67 68v_cvt_f16_u16_e64_dpp v5, s1 dpp8:[7,6,5,4,3,2,1,0] 69// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 70 71v_cvt_f16_u16_e64_dpp v5, s1 row_shl:1 row_mask:0xf bank_mask:0xf 72// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 73 74; disallow space between colons 75v_dual_mul_f32 v0, v0, v2 : : v_dual_mul_f32 v1, v1, v3 76// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression 77 78v_dot4c_i32_i8 v0, v1, v2 79// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 80 81v_cmp_class_f16_e64_dpp s105, s2, v2 row_ror:15 82// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 83 84v_cmpx_class_f32_e64_dpp s1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1 85// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 86 87v_fma_mix_f32_e64_dpp v5, s1, v3, v4 quad_perm:[3,2,1,0] 88// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 89 90v_fma_mix_f32_e64_dpp v5, v1, s3, v4 quad_perm:[3,2,1,0] 91// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 92 93v_fma_mix_f32_e64_dpp v5, s1, v3, v4 dpp8:[7,6,5,4,3,2,1,0] 94// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 95 96v_fma_mix_f32_e64_dpp v5, v1, s3, v4 dpp8:[7,6,5,4,3,2,1,0] 97// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 98 99v_fma_mixhi_f16_e64_dpp v5, v1, 0, v4 quad_perm:[3,2,1,0] 100// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 101 102v_fma_mixlo_f16_e64_dpp v5, v1, 1, v4 dpp8:[7,6,5,4,3,2,1,0] 103// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 104 105buffer_store_d16_hi_format_x v[1:2], off, s[12:15], s4 offset:4095 glc slc dlc tfe 106// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: TFE modifier has no meaning for store instructions 107 108v_fmac_f16_e64_dpp v5, -16, v3 dpp8:[7,6,5,4,3,2,1,0] 109// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 110 111v_fmac_f16_e64_dpp v5, v2, s3 dpp8:[7,6,5,4,3,2,1,0] 112// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 113 114v_fmac_f16_e64_dpp v5, v2, 0x1234 dpp8:[7,6,5,4,3,2,1,0] 115// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 116 117v_fmac_f16_e64_dpp v5, 0x1234, v3 quad_perm:[3,2,1,0] 118// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 119 120v_fmac_f16_e64_dpp v5, s2, v3 quad_perm:[3,2,1,0] 121// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 122 123v_fmac_f16_e64_dpp v5, v2, 1.0 quad_perm:[3,2,1,0] 124// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 immediate operand invalid for instruction 125 126v_fmac_f32_e64_dpp v5, s2, v3 dpp8:[7,6,5,4,3,2,1,0] 127// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 128 129v_fmac_f32_e64_dpp v5, 0x1234, v3 dpp8:[7,6,5,4,3,2,1,0] 130// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 131 132v_fmac_f32_e64_dpp v5, v2, 1 dpp8:[7,6,5,4,3,2,1,0] 133// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 immediate operand invalid for instruction 134 135v_fmac_f32_e64_dpp v5, -1.0, v3 quad_perm:[3,2,1,0] 136// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 137 138v_fmac_f32_e64_dpp v5, v2, s3 quad_perm:[3,2,1,0] 139// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 140 141v_fmac_f32_e64_dpp v5, v2, 0x1234 quad_perm:[3,2,1,0] 142// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 143 144s_load_dword s1, s[2:3], s0 0x1 145// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction 146 147scratch_store_b128 off, v[2:5], s0 offset:8000000 148// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 13-bit signed offset 149 150flat_atomic_add_f32 v1, v[0:1], v2 offset:-1 151// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 12-bit unsigned offset 152 153s_load_b96 s[20:22], s[2:3], s0 154// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 155 156s_buffer_load_b96 s[20:22], s[4:7], s0 157// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 158