ARM assembly parsing and encoding for SETEND instruction.
Add parsing and diagnostics for malformed inputs. Tests for diagnostics and
for correct encodings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@135776 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/MC/ARM/basic-arm-instructions.s b/test/MC/ARM/basic-arm-instructions.s
index 0bde0f6..00087f3 100644
--- a/test/MC/ARM/basic-arm-instructions.s
+++ b/test/MC/ARM/basic-arm-instructions.s
@@ -1304,6 +1304,16 @@
@------------------------------------------------------------------------------
+@ SETEND
+@------------------------------------------------------------------------------
+ setend be
+ setend le
+
+ sel r9, r2, r1 @ encoding: [0xb1,0x9f,0x82,0xe6]
+ selne r9, r2, r1 @ encoding: [0xb1,0x9f,0x82,0x16]
+
+
+@------------------------------------------------------------------------------
@ STM*
@------------------------------------------------------------------------------
stm r2, {r1,r3-r6,sp}
diff --git a/test/MC/ARM/diagnostics.s b/test/MC/ARM/diagnostics.s
index abefca6..305a5fa 100644
--- a/test/MC/ARM/diagnostics.s
+++ b/test/MC/ARM/diagnostics.s
@@ -144,3 +144,19 @@
@ CHECK: error: asr operand expected.
@ CHECK: pkhtb r2, r2, r3, lsl #3
@ CHECK: ^
+
+
+ @ bad values for SETEND
+ setendne be
+ setend me
+ setend 1
+
+@ CHECK: error: instruction 'setend' is not predicable, but condition code specified
+@ CHECK: setendne be
+@ CHECK: ^
+@ CHECK: error: 'be' or 'le' operand expected
+@ CHECK: setend me
+@ CHECK: ^
+@ CHECK: error: 'be' or 'le' operand expected
+@ CHECK: setend 1
+@ CHECK: ^