1. Adding missing immediate mode asm parser test cases.

2. Fixing improper immediate mode reverse subtract.

llvm-svn: 118948
This commit is contained in:
Wesley Peck 2010-11-13 00:03:46 +00:00
parent 214a0ad0c7
commit 240162629c
2 changed files with 57 additions and 2 deletions

View 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>;

View File

@ -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