xref: /llvm-project/llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s (revision bccd1190c99120e3675771c23901d4a44f82c617)
1// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1200 -mattr=+wavefrontsize32 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX12 --strict-whitespace --implicit-check-not=error %s
2// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1200 -mattr=+wavefrontsize64 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX12 --strict-whitespace --implicit-check-not=error %s
3
4v_permlane16_b32 v5, v1, s2, s3 op_sel:[0, 0, 0, 1]
5// GFX12: :[[@LINE-1]]:{{[0-9]+}}: error: invalid op_sel operand
6
7v_permlanex16_b32 v5, v1, s2, s3 op_sel:[0, 0, 1, 0]
8// GFX12: :[[@LINE-1]]:{{[0-9]+}}: error: invalid op_sel operand
9
10v_permlane16_var_b32 v5, v1, v2 clamp
11// GFX12: error: invalid operand for instruction
12// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 clamp
13// GFX12-NEXT:{{^}}                                ^
14
15v_permlane16_var_b32 v5, v1, v2 div:2
16// GFX12: error: not a valid operand
17// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 div:2
18// GFX12-NEXT:{{^}}                                ^
19
20v_permlane16_var_b32 v5, v1, v2 mul:1
21// GFX12: error: not a valid operand
22// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 mul:1
23// GFX12-NEXT:{{^}}                                ^
24
25v_permlane16_var_b32 -v5, v1, v2 op_sel:[0, 1]
26// GFX12: error: not a valid operand
27// GFX12-NEXT:{{^}}v_permlane16_var_b32 -v5, v1, v2 op_sel:[0, 1]
28// GFX12-NEXT:{{^}}                     ^
29
30v_permlane16_var_b32 v5, -v1, v2 op_sel:[0, 1]
31// GFX12: error: not a valid operand
32// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, -v1, v2 op_sel:[0, 1]
33// GFX12-NEXT:{{^}}                         ^
34
35v_permlane16_var_b32 v5, v1, -v2 op_sel:[0, 1]
36// GFX12: error: not a valid operand
37// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, -v2 op_sel:[0, 1]
38// GFX12-NEXT:{{^}}                             ^
39
40v_permlane16_var_b32 -|v5|, v1, v2 op_sel:[0, 1]
41// GFX12: error: not a valid operand
42// GFX12-NEXT:{{^}}v_permlane16_var_b32 -|v5|, v1, v2 op_sel:[0, 1]
43// GFX12-NEXT:{{^}}                     ^
44
45v_permlane16_var_b32 v5, -v1, |v2| op_sel:[0, 1]
46// GFX12: error: not a valid operand
47// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, -v1, |v2| op_sel:[0, 1]
48// GFX12-NEXT:{{^}}                         ^
49
50v_permlane16_var_b32 v5, v1, -|v2| op_sel:[0, 1]
51// GFX12: error: not a valid operand
52// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, -|v2| op_sel:[0, 1]
53// GFX12-NEXT:{{^}}                             ^
54
55v_permlane16_var_b32 |v5|, v1, v2 op_sel:[0, 1]
56// GFX12: error: not a valid operand
57// GFX12-NEXT:{{^}}v_permlane16_var_b32 |v5|, v1, v2 op_sel:[0, 1]
58// GFX12-NEXT:{{^}}                     ^
59
60v_permlane16_var_b32 v5, |v1|, v2 op_sel:[0, 1]
61// GFX12: error: not a valid operand
62// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, |v1|, v2 op_sel:[0, 1]
63// GFX12-NEXT:{{^}}                         ^
64
65v_permlane16_var_b32 v5, v1, |v2| op_sel:[0, 1]
66// GFX12: error: not a valid operand
67// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, |v2| op_sel:[0, 1]
68// GFX12-NEXT:{{^}}                             ^
69
70v_permlane16_var_b32 v5, v1, v2 op_sel:[-1, 0]
71// GFX12: error: invalid op_sel value
72// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 op_sel:[-1, 0]
73// GFX12-NEXT:{{^}}                                        ^
74
75v_permlane16_var_b32 v5, v1, v2 op_sel:[1, -1]
76// GFX12: error: invalid op_sel value
77// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 op_sel:[1, -1]
78// GFX12-NEXT:{{^}}                                           ^
79
80v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, 0, 1]
81// GFX12: error: invalid op_sel operand
82// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, 0, 1]
83// GFX12-NEXT:{{^}}                                ^
84
85v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, 0, -1]
86// GFX12: error: invalid op_sel value
87// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, 0, -1]
88// GFX12-NEXT:{{^}}                                                 ^
89
90v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, 1, 0]
91// GFX12: error: invalid op_sel operand
92// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, 1, 0]
93// GFX12-NEXT:{{^}}                                ^
94
95v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, -1, 0]
96// GFX12: error: invalid op_sel value
97// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, -1, 0]
98// GFX12-NEXT:{{^}}                                              ^
99
100v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, 1]
101// GFX12: error: invalid op_sel operand
102// GFX12-NEXT:{{^}}v_permlane16_var_b32 v5, v1, v2 op_sel:[0, 0, 1]
103// GFX12-NEXT:{{^}}                                ^
104
105v_cvt_sr_bf8_f32 v1, v2, v3 byte_sel:4
106// GFX12: :[[@LINE-1]]:{{[0-9]+}}: error: invalid byte_sel value.
107// GFX12-NEXT:{{^}}v_cvt_sr_bf8_f32 v1, v2, v3 byte_sel:4
108// GFX12-NEXT:{{^}}                            ^
109