1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201
|
# Xqcia - Qualcomm uC Arithmetic Extension
# RUN: not llvm-mc -triple riscv32 -mattr=+experimental-xqcia < %s 2>&1 \
# RUN: | FileCheck -check-prefixes=CHECK,CHECK-PLUS %s
# RUN: not llvm-mc -triple riscv32 -mattr=-experimental-xqcia < %s 2>&1 \
# RUN: | FileCheck -check-prefixes=CHECK,CHECK-MINUS %s
# CHECK: :[[@LINE+1]]:20: error: invalid operand for instruction
qc.slasat x10, x3, 17
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.slasat x10, x3
# CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
qc.slasat x0, x3, x17
# CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
qc.slasat x10, x0, x17
# CHECK: :[[@LINE+1]]:20: error: invalid operand for instruction
qc.slasat x10, x3, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.slasat x10, x3, x17
# CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
qc.sllsat x23, x25, 27
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.sllsat x23, x25
# CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
qc.sllsat x0, x25, x27
# CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
qc.sllsat x23, x0, x27
# CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
qc.sllsat x23, x25, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.sllsat x23, x25, x27
# CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
qc.addsat x17, x14, 7
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.addsat x17, x14
# CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
qc.addsat x0, x14, x7
# CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
qc.addsat x17, x0, x7
# CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
qc.addsat x17, x14, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.addsat x17, x14, x7
# CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
qc.addusat x8, x18, 28
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.addusat x8, x18
# CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction
qc.addusat x0, x18, x28
# CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
qc.addusat x8, x0, x28
# CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
qc.addusat x8, x18, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.addusat x8, x18, x28
# CHECK: :[[@LINE+1]]:20: error: invalid operand for instruction
qc.subsat x22, x2, 12
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.subsat x22, x2
# CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
qc.subsat x0, x2, x12
# CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
qc.subsat x22, x0, x12
# CHECK: :[[@LINE+1]]:20: error: invalid operand for instruction
qc.subsat x22, x2, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.subsat x22, x2, x12
# CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
qc.subusat x9, x14, 17
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.subusat x9, x14
# CHECK: :[[@LINE+1]]:12: error: invalid operand for instruction
qc.subusat x0, x14, x17
# CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
qc.subusat x9, x0, x17
# CHECK: :[[@LINE+1]]:21: error: invalid operand for instruction
qc.subusat x9, x14, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.subusat x9, x14, x17
# CHECK: :[[@LINE+1]]:18: error: invalid operand for instruction
qc.wrap x3, x30, 23
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.wrap x3, x30
# CHECK: :[[@LINE+1]]:9: error: invalid operand for instruction
qc.wrap x0, x30, x23
# CHECK: :[[@LINE+1]]:18: error: invalid operand for instruction
qc.wrap x3, x30, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.wrap x3, x30, x23
# CHECK: :[[@LINE+1]]:10: error: invalid operand for instruction
qc.wrapi x0, 12, 2047
# CHECK: :[[@LINE+1]]:10: error: invalid operand for instruction
qc.wrapi x0, x12, 2047
# CHECK: :[[@LINE+1]]:14: error: invalid operand for instruction
qc.wrapi x6, x0, 2047
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.wrapi x6, x12
# CHECK-PLUS: :[[@LINE+1]]:19: error: immediate must be an integer in the range [0, 2047]
qc.wrapi x6, x12, 2048
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.wrapi x6, x12, 2047
# CHECK: :[[@LINE+1]]:13: error: invalid operand for instruction
qc.norm x3, 7
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.norm x3
# CHECK: :[[@LINE+1]]:9: error: invalid operand for instruction
qc.norm x0, x7
# CHECK: :[[@LINE+1]]:13: error: invalid operand for instruction
qc.norm x3, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.norm x3, x7
# CHECK: :[[@LINE+1]]:15: error: invalid operand for instruction
qc.normu x11, 17
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.normu x11
# CHECK: :[[@LINE+1]]:10: error: invalid operand for instruction
qc.normu x0, x17
# CHECK: :[[@LINE+1]]:15: error: invalid operand for instruction
qc.normu x11, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.normu x11, x17
# CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
qc.normeu x26, 31
# CHECK: :[[@LINE+1]]:1: error: too few operands for instruction
qc.normeu x26
# CHECK: :[[@LINE+1]]:11: error: invalid operand for instruction
qc.normeu x0, x31
# CHECK: :[[@LINE+1]]:16: error: invalid operand for instruction
qc.normeu x26, x0
# CHECK-MINUS: :[[@LINE+1]]:1: error: instruction requires the following: 'Xqcia' (Qualcomm uC Arithmetic Extension)
qc.normeu x26, x31
|