From 24d06f2be538c92104ab6c8ff49885858f44d2ad Mon Sep 17 00:00:00 2001 From: Wesley Peck Date: Sat, 13 Nov 2010 00:03:46 +0000 Subject: [PATCH] 1. Adding missing immediate mode asm parser test cases. 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 | 4 +- test/MC/MBlaze/mblaze_typeb.s | 55 ++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 2 deletions(-) diff --git a/lib/Target/MBlaze/MBlazeInstrInfo.td b/lib/Target/MBlaze/MBlazeInstrInfo.td index ae05b736b5a..1059fba08d6 100644 --- a/lib/Target/MBlaze/MBlazeInstrInfo.td +++ b/lib/Target/MBlaze/MBlazeInstrInfo.td @@ -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>; diff --git a/test/MC/MBlaze/mblaze_typeb.s b/test/MC/MBlaze/mblaze_typeb.s index bc24e24b793..ac4f1e2932a 100644 --- a/test/MC/MBlaze/mblaze_typeb.s +++ b/test/MC/MBlaze/mblaze_typeb.s @@ -35,3 +35,58 @@ # 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 -- 2.34.1