# RUN: not llvm-mc -triple riscv32 -mattr=+experimental-b,experimental-zbp < %s 2>&1 | FileCheck %s # Too few operands gorc t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands grev t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands gorci t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Immediate operand out of range gorci t0, t1, 32 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 31] gorci t0, t1, -1 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 31] # Too few operands grevi t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Immediate operand out of range grevi t0, t1, 32 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 31] grevi t0, t1, -1 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 31] # Too few operands shfl t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands unshfl t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands shfli t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Immediate operand out of range shfli t0, t1, 16 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 15] shfli t0, t1, -1 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 15] # Too few operands unshfli t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Immediate operand out of range unshfli t0, t1, 16 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 15] unshfli t0, t1, -1 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 15] # Too few operands pack t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands packu t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands packh t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands xperm.n t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands xperm.b t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction # Too few operands xperm.h t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction gorcw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set grevw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set gorciw t0, t1, 0 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set greviw t0, t1, 0 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set shflw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set unshflw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set packw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set packuw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set xperm.w t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set