Thumb parsing and encoding for RSB.
[oota-llvm.git] / test / MC / ARM / basic-thumb-instructions.s
index dcd2cad40cc5bd706f20e54d064d4aca3a83121a..d7b902bcda057857dee698c9f04f9b7f02717831 100644 (file)
@@ -321,3 +321,89 @@ _func:
 
 @ CHECK: mov   r3, r4                  @ encoding: [0x23,0x46]
 @ CHECK: movs  r1, r3                  @ encoding: [0x19,0x00]
+
+
+@------------------------------------------------------------------------------
+@ MUL
+@------------------------------------------------------------------------------
+        muls r1, r2, r1
+        muls r3, r4
+
+@ CHECK: muls  r1, r2, r1              @ encoding: [0x51,0x43]
+@ CHECK: muls  r3, r4, r3              @ encoding: [0x63,0x43]
+
+
+@------------------------------------------------------------------------------
+@ MVN
+@------------------------------------------------------------------------------
+        mvns r6, r3
+
+@ CHECK: mvns  r6, r3                  @ encoding: [0xde,0x43]
+
+
+@------------------------------------------------------------------------------
+@ NEG
+@------------------------------------------------------------------------------
+        negs r3, r4
+
+@ CHECK: rsbs  r3, r4, #0              @ encoding: [0x63,0x42]
+
+
+@------------------------------------------------------------------------------
+@ NOP
+@------------------------------------------------------------------------------
+        nop
+
+@ CHECK: nop                            @ encoding: [0xc0,0x46]
+
+
+@------------------------------------------------------------------------------
+@ ORR
+@------------------------------------------------------------------------------
+        orrs  r3, r4
+
+@ CHECK-ERRORS:        orrs    r3, r4                  @ encoding: [0x23,0x43]
+
+
+@------------------------------------------------------------------------------
+@ POP
+@------------------------------------------------------------------------------
+        pop {r2, r3, r6}
+
+@ CHECK: pop   {r2, r3, r6}            @ encoding: [0x4c,0xbc]
+
+
+@------------------------------------------------------------------------------
+@ PUSH
+@------------------------------------------------------------------------------
+        push {r1, r2, r7}
+
+@ CHECK: push  {r1, r2, r7}            @ encoding: [0x86,0xb4]
+
+
+@------------------------------------------------------------------------------
+@ REV/REV16/REVSH
+@------------------------------------------------------------------------------
+        rev r6, r3
+        rev16 r7, r2
+        revsh r5, r1
+
+@ CHECK: rev   r6, r3                  @ encoding: [0x1e,0xba]
+@ CHECK: rev16 r7, r2                  @ encoding: [0x57,0xba]
+@ CHECK: revsh r5, r1                  @ encoding: [0xcd,0xba]
+
+
+@------------------------------------------------------------------------------
+@ ROR
+@------------------------------------------------------------------------------
+        rors r2, r7
+
+@ CHECK: rors  r2, r7                  @ encoding: [0xfa,0x41]
+
+
+@------------------------------------------------------------------------------
+@ RSB
+@------------------------------------------------------------------------------
+        rsbs r1, r3, #0
+
+       rsbs    r1, r3, #0              @ encoding: [0x59,0x42]