| # RUN: not llvm-mc -triple riscv32 -mattr=+zbb < %s 2>&1 | FileCheck %s |
| |
| # Too many operands |
| clz t0, t1, t2 # CHECK: :[[@LINE]]:13: error: invalid operand for instruction |
| # Too many operands |
| ctz t0, t1, t2 # CHECK: :[[@LINE]]:13: error: invalid operand for instruction |
| # Too many operands |
| cpop t0, t1, t2 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction |
| # Too many operands |
| sext.b t0, t1, t2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction |
| # Too many operands |
| sext.h t0, t1, t2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction |
| # Too few operands |
| min t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Too few operands |
| max t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Too few operands |
| minu t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Too few operands |
| maxu t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| clzw t0, t1 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} |
| ctzw t0, t1 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} |
| cpopw t0, t1 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} |
| # Too few operands |
| andn t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Too few operands |
| orn t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Too few operands |
| xnor t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Too few operands |
| rol t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Too few operands |
| ror t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Too few operands |
| rori t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction |
| # Immediate operand out of range |
| rori t0, t1, 32 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 31] |
| rori t0, t1, -1 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 31] |
| rolw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} |
| rorw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} |
| roriw t0, t1, 31 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} |
| roriw t0, t1, 0 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} |