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
4 v_permlane16_b32 v5
, v1
, s2
, s3 op_sel
:[0, 0, 0, 1]
5 // GFX12
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid op_sel operand
7 v_permlanex16_b32 v5
, v1
, s2
, s3 op_sel
:[0, 0, 1, 0]
8 // GFX12
: :[[@LINE-
1]]:{{[0-9]+}}: error
: invalid op_sel operand
10 v_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
15 v_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
20 v_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
25 v_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]
30 v_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]
35 v_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]
40 v_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]
45 v_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]
50 v_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]
55 v_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]
60 v_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]
65 v_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]
70 v_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]
75 v_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]
80 v_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]
85 v_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]
90 v_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]
95 v_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]
100 v_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
:{{^
}} ^
105 v_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
:{{^
}} ^