} // end isNotDuplicable
class CS<string iname, bits<4> opcode, list<dag> pattern=[]>
- : V8_1MI<(outs rGPR:$Rd), (ins GPRwithZR:$Rn, GPRwithZRnosp:$Rm, pred_noal:$fcond),
+ : V8_1MI<(outs rGPR:$Rd), (ins GPRwithZRnosp:$Rn, GPRwithZRnosp:$Rm, pred_noal:$fcond),
AddrModeNone, NoItinerary, iname, "$Rd, $Rn, $Rm, $fcond", "", pattern> {
bits<4> Rd;
bits<4> Rm;
# CHECK-NOLOB: csel r0, r0, r1, eq @ encoding: [0x50,0xea,0x01,0x80]
csel r0, r0, r1, eq
+// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14
+csel sp, r0, r1, eq
+
+// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
+csel r0, sp, r1, eq
+
+// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
+csinc r0, sp, r1, eq
+
+// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
+csinv r0, sp, r1, eq
+
+// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
+csneg r0, sp, r1, eq
+
+// ERROR: :[[@LINE+1]]:{{[0-9]+}}: error: operand must be a register in range [r0, r12] or r14 or zr
+csel r0, r0, sp, eq
+
// ERROR: :[[@LINE+2]]:{{[0-9]+}}: error: instructions in IT block must be predicable
it eq
csel r0, r0, r1, eq
# ERROR: [[@LINE-2]]:2: warning: potentially undefined instruction encoding
[0x5d,0xea,0x02,0x80]
-# CHECK: csel r0, sp, r2, eq @ encoding: [0x5d,0xea,0x02,0x80]
-# ERROR: [[@LINE-2]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x51,0xea,0x0d,0x80]
# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x22 0x9e]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x47 0x9e]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x3c 0xae]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x3a 0xbe]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x7b 0x89]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x1f 0x9e]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x3f 0xae]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0xd7 0x9e]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x2f 0xae]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x42 0xae]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x5d 0xea 0x7b 0xbe]
-# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding
+# ERROR: [[@LINE-1]]:2: warning: invalid instruction encoding
[0x52 0xea 0x22 0x9d]
# ERROR: [[@LINE-1]]:2: warning: potentially undefined instruction encoding