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