xref: /llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_err.s (revision 1004496451877c28e005d3016ef22921fad39132)
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