mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
39932105f0
This adds the instruction encoding and mnenomics for the proposed RISC-V Bit Manipulation extension (version 0.92). It is implemented with each category of instruction as its own target feature, with the 'b' extension feature enabling all options. Since this extension is not yet ratified, all target features are prefixed with 'experimental-' to note their status. Differential Revision: https://reviews.llvm.org/D65649
26 lines
1.4 KiB
ArmAsm
26 lines
1.4 KiB
ArmAsm
# RUN: not llvm-mc -triple riscv64 -mattr=+experimental-b,experimental-zbs < %s 2>&1 | FileCheck %s
|
|
|
|
# Too few operands
|
|
sbclrw t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
|
|
# Too few operands
|
|
sbsetw t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
|
|
# Too few operands
|
|
sbinvw t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
|
|
# Too few operands
|
|
sbextw t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
|
|
# Too few operands
|
|
sbclriw t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
|
|
# Immediate operand out of range
|
|
sbclriw t0, t1, 32 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31]
|
|
sbclriw t0, t1, -1 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31]
|
|
# Too few operands
|
|
sbsetiw t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
|
|
# Immediate operand out of range
|
|
sbsetiw t0, t1, 32 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31]
|
|
sbsetiw t0, t1, -1 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31]
|
|
# Too few operands
|
|
sbinviw t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
|
|
# Immediate operand out of range
|
|
sbinviw t0, t1, 32 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31]
|
|
sbinviw t0, t1, -1 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 31]
|