1# RUN: not llvm-mc -triple riscv32 -mattr=+zbb < %s 2>&1 | FileCheck %s 2 3# Too many operands 4clz t0, t1, t2 # CHECK: :[[@LINE]]:13: error: invalid operand for instruction 5# Too many operands 6ctz t0, t1, t2 # CHECK: :[[@LINE]]:13: error: invalid operand for instruction 7# Too many operands 8cpop t0, t1, t2 # CHECK: :[[@LINE]]:14: error: invalid operand for instruction 9# Too many operands 10sext.b t0, t1, t2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction 11# Too many operands 12sext.h t0, t1, t2 # CHECK: :[[@LINE]]:16: error: invalid operand for instruction 13# Too few operands 14min t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 15# Too few operands 16max t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 17# Too few operands 18minu t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 19# Too few operands 20maxu t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 21clzw t0, t1 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} 22ctzw t0, t1 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} 23cpopw t0, t1 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} 24# Too few operands 25andn t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 26# Too few operands 27orn t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 28# Too few operands 29xnor t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 30# Too few operands 31rol t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 32# Too few operands 33ror t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 34# Too few operands 35rori t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction 36# Immediate operand out of range 37rori t0, t1, 32 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 31] 38rori t0, t1, -1 # CHECK: :[[@LINE]]:14: error: immediate must be an integer in the range [0, 31] 39rolw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} 40rorw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} 41roriw t0, t1, 31 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} 42roriw t0, t1, 0 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set{{$}} 43