1 # Xqcisls - Qualcomm uC Scaled Load Store Extension
2 # RUN: not llvm-mc -triple riscv32 -mattr=+experimental-xqcisls < %s 2>&1 \
3 # RUN: | FileCheck -check-prefixes=CHECK,CHECK-PLUS %s
4 # RUN: not llvm-mc -triple riscv32 -mattr=-experimental-xqcisls < %s 2>&1 \
5 # RUN: | FileCheck -check-prefixes=CHECK,CHECK-MINUS %s
7 # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
10 # CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
13 # CHECK-PLUS: :[[@LINE+1]]:20: error: immediate must be an integer in the range [0, 7]
16 # CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction
19 # CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcisls' (Qualcomm uC Scaled Load Store Extension)
23 # CHECK: :[[@LINE+1]]:17: error: invalid operand for instruction
26 # CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
29 # CHECK-PLUS: :[[@LINE+1]]:21: error: immediate must be an integer in the range [0, 7]
30 qc.lrh x1
, x12
, x6
, 22
32 # CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction
35 # CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcisls' (Qualcomm uC Scaled Load Store Extension)
39 # CHECK: :[[@LINE+1]]:17: error: invalid operand for instruction
42 # CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
45 # CHECK-PLUS: :[[@LINE+1]]:22: error: immediate must be an integer in the range [0, 7]
46 qc.lrw x15
, x7
, x14
, 11
48 # CHECK: :[[@LINE+1]]:13: error: invalid operand for instruction
51 # CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcisls' (Qualcomm uC Scaled Load Store Extension)
52 qc.lrw x15
, x7
, x14
, 1
55 # CHECK: :[[@LINE+1]]:18: error: invalid operand for instruction
56 qc.lrbu x9
, x11
, x0
, 7
58 # CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
61 # CHECK-PLUS: :[[@LINE+1]]:22: error: immediate must be an integer in the range [0, 7]
62 qc.lrbu x9
, x11
, x4
, 37
64 # CHECK: :[[@LINE+1]]:13: error: invalid operand for instruction
67 # CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcisls' (Qualcomm uC Scaled Load Store Extension)
68 qc.lrbu x9
, x11
, x4
, 7
71 # CHECK: :[[@LINE+1]]:18: error: invalid operand for instruction
72 qc.lrhu x16
, x6
, x0
, 4
74 # CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
77 # CHECK-PLUS: :[[@LINE+1]]:23: error: immediate must be an integer in the range [0, 7]
78 qc.lrhu x16
, x6
, x10
, 44
80 # CHECK: :[[@LINE+1]]:14: error: invalid operand for instruction
81 qc.lrhu x16
, 6, x10
, 4
83 # CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcisls' (Qualcomm uC Scaled Load Store Extension)
84 qc.lrhu x16
, x6
, x10
, 4
87 # CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
90 # CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
93 # CHECK-PLUS: :[[@LINE+1]]:20: error: immediate must be an integer in the range [0, 7]
96 # CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction
99 # CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcisls' (Qualcomm uC Scaled Load Store Extension)
103 # CHECK: :[[@LINE+1]]:17: error: invalid operand for instruction
104 qc.srh x13
, x0
, x0
, 6
106 # CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
109 # CHECK-PLUS: :[[@LINE+1]]:22: error: immediate must be an integer in the range [0, 7]
110 qc.srh x13
, x0
, x20
, 76
112 # CHECK: :[[@LINE+1]]:13: error: invalid operand for instruction
113 qc.srh x13
, 0, x20
, 6
115 # CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcisls' (Qualcomm uC Scaled Load Store Extension)
116 qc.srh x13
, x0
, x20
, 6
119 # CHECK: :[[@LINE+1]]:18: error: invalid operand for instruction
120 qc.
srw x17
, x18
, x0
, 0
122 # CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
125 # CHECK-PLUS: :[[@LINE+1]]:23: error: immediate must be an integer in the range [0, 7]
126 qc.
srw x17
, x18
, x19
, 10
128 # CHECK: :[[@LINE+1]]:13: error: invalid operand for instruction
129 qc.
srw x17
, 18, x19
, 0
131 # CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcisls' (Qualcomm uC Scaled Load Store Extension)
132 qc.
srw x17
, x18
, x19
, 0