1. Adding missing immediate mode asm parser test cases.
authorWesley Peck <peckw@wesleypeck.com>
Sat, 13 Nov 2010 00:03:46 +0000 (00:03 +0000)
committerWesley Peck <peckw@wesleypeck.com>
Sat, 13 Nov 2010 00:03:46 +0000 (00:03 +0000)
2. Fixing improper immediate mode reverse subtract.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118948 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/MBlaze/MBlazeInstrInfo.td
test/MC/MBlaze/mblaze_typeb.s

index ae05b736b5a5bce32c7f8af7bffb2dd50ba55b65..1059fba08d6dd5290d454f091fa5f7b8082df93a 100644 (file)
@@ -376,8 +376,8 @@ let isAsCheapAsAMove = 1 in {
   def ADDIK   :  ArithNI<0x0C, "addik  ", simm16, immSExt16>;
   def ADDIKC  :   ArithI<0x0E, "addikc ", addc, simm16, immSExt16>;
   def RSUBI   :  ArithRI<0x09, "rsubi  ", sub,  simm16, immSExt16>;
-  def RSUBIC  : ArithRNI<0x0B, "rsubi  ", simm16, immSExt16>;
-  def RSUBIK  : ArithRNI<0x0E, "rsubic ", simm16, immSExt16>;
+  def RSUBIC  : ArithRNI<0x0B, "rsubic ", simm16, immSExt16>;
+  def RSUBIK  : ArithRNI<0x0D, "rsubik ", simm16, immSExt16>;
   def RSUBIKC :  ArithRI<0x0F, "rsubikc", subc, simm16, immSExt16>;
   def ANDNI   :  ArithNI<0x2B, "andni  ", uimm16, immZExt16>;
   def ANDI    :   LogicI<0x29, "andi   ", and>;
index bc24e24b79362c7e15a9f34009cf540d1c0ffb5a..ac4f1e2932a7f95ce8670938b512a068167a400c 100644 (file)
 # BINARY:   101011 00001 00010 0000000000001111
 # CHECK:    encoding: [0xac,0x22,0x00,0x0f]
             andni   r1, r2, 0x000F
+
+# CHECK:    muli
+# BINARY:   011000 00001 00010 0000000000001111
+# CHECK:    encoding: [0x60,0x22,0x00,0x0f]
+            muli    r1, r2, 0x000F
+
+# CHECK:    ori
+# BINARY:   101000 00001 00010 0000000000001111
+# CHECK:    encoding: [0xa0,0x22,0x00,0x0f]
+            ori     r1, r2, 0x000F
+
+# CHECK:    rsubi
+# BINARY:   001001 00001 00010 0000000000001111
+# CHECK:    encoding: [0x24,0x22,0x00,0x0f]
+            rsubi   r1, r2, 0x000F
+
+# CHECK:    rsubic
+# BINARY:   001011 00001 00010 0000000000001111
+# CHECK:    encoding: [0x2c,0x22,0x00,0x0f]
+            rsubic  r1, r2, 0x000F
+
+# CHECK:    rsubik
+# BINARY:   001101 00001 00010 0000000000001111
+# CHECK:    encoding: [0x34,0x22,0x00,0x0f]
+            rsubik  r1, r2, 0x000F
+
+# CHECK:    rsubikc
+# BINARY:   001111 00001 00010 0000000000001111
+# CHECK:    encoding: [0x3c,0x22,0x00,0x0f]
+            rsubikc r1, r2, 0x000F
+
+# CHECK:    rtbd
+# BINARY:   101101 10010 01111 0000000000001111
+# CHECK:    encoding: [0xb6,0x4f,0x00,0x0f]
+            rtbd r15, 0x000F
+
+# CHECK:    rted
+# BINARY:   101101 10001 01111 0000000000001111
+# CHECK:    encoding: [0xb6,0x8f,0x00,0x0f]
+            rted r15, 0x000F
+
+# CHECK:    rtid
+# BINARY:   101101 10001 01111 0000000000001111
+# CHECK:    encoding: [0xb6,0x2f,0x00,0x0f]
+            rtid r15, 0x000F
+
+# CHECK:    rtsd
+# BINARY:   101101 10000 01111 0000000000001111
+# CHECK:    encoding: [0xb6,0x0f,0x00,0x0f]
+            rtsd r15, 0x000F
+
+# CHECK:    xori
+# BINARY:   101010 00001 00010 0000000000001111
+# CHECK:    encoding: [0xa8,0x22,0x00,0x0f]
+            xori r1, r2, 0x000F