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