[DAGCombiner] Add target hook function to decide folding (mul (add x, c1), c2)
[llvm-project.git] / llvm / test / MC / RISCV / rv32zbp-invalid.s
blob11e7e83383778266bf7d132fe8f5a351aee0b31a
1 # RUN: not llvm-mc -triple riscv32 -mattr=+experimental-b,experimental-zbp < %s 2>&1 | FileCheck %s
3 # Too few operands
4 gorc t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
5 # Too few operands
6 grev t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
7 # Too few operands
8 gorci t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
9 # Immediate operand out of range
10 gorci t0, t1, 32 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 31]
11 gorci t0, t1, -1 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 31]
12 # Too few operands
13 grevi t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
14 # Immediate operand out of range
15 grevi t0, t1, 32 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 31]
16 grevi t0, t1, -1 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 31]
17 # Too few operands
18 shfl t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
19 # Too few operands
20 unshfl t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
21 # Too few operands
22 shfli t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
23 # Immediate operand out of range
24 shfli t0, t1, 16 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 15]
25 shfli t0, t1, -1 # CHECK: :[[@LINE]]:15: error: immediate must be an integer in the range [0, 15]
26 # Too few operands
27 unshfli t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
28 # Immediate operand out of range
29 unshfli t0, t1, 16 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 15]
30 unshfli t0, t1, -1 # CHECK: :[[@LINE]]:17: error: immediate must be an integer in the range [0, 15]
31 # Too few operands
32 pack t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
33 # Too few operands
34 packu t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
35 # Too few operands
36 packh t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
37 # Too few operands
38 xperm.n t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
39 # Too few operands
40 xperm.b t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
41 # Too few operands
42 xperm.h t0, t1 # CHECK: :[[@LINE]]:1: error: too few operands for instruction
43 gorcw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set
44 grevw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set
45 gorciw t0, t1, 0 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set
46 greviw t0, t1, 0 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set
47 shflw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set
48 unshflw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set
49 packw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set
50 packuw t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set
51 xperm.w t0, t1, t2 # CHECK: :[[@LINE]]:1: error: instruction requires the following: RV64I Base Instruction Set