mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +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
24 lines
1.2 KiB
ArmAsm
24 lines
1.2 KiB
ArmAsm
# RUN: not llvm-mc -triple riscv32 -mattr=+experimental-b,experimental-zbb,experimental-zbp < %s 2>&1 | FileCheck %s
|
|
|
|
# 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]
|
|
# 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
|