mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-09 11:25:55 +00:00
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
This commit is contained in:
@@ -376,8 +376,8 @@ let isAsCheapAsAMove = 1 in {
|
|||||||
def ADDIK : ArithNI<0x0C, "addik ", simm16, immSExt16>;
|
def ADDIK : ArithNI<0x0C, "addik ", simm16, immSExt16>;
|
||||||
def ADDIKC : ArithI<0x0E, "addikc ", addc, simm16, immSExt16>;
|
def ADDIKC : ArithI<0x0E, "addikc ", addc, simm16, immSExt16>;
|
||||||
def RSUBI : ArithRI<0x09, "rsubi ", sub, simm16, immSExt16>;
|
def RSUBI : ArithRI<0x09, "rsubi ", sub, simm16, immSExt16>;
|
||||||
def RSUBIC : ArithRNI<0x0B, "rsubi ", simm16, immSExt16>;
|
def RSUBIC : ArithRNI<0x0B, "rsubic ", simm16, immSExt16>;
|
||||||
def RSUBIK : ArithRNI<0x0E, "rsubic ", simm16, immSExt16>;
|
def RSUBIK : ArithRNI<0x0D, "rsubik ", simm16, immSExt16>;
|
||||||
def RSUBIKC : ArithRI<0x0F, "rsubikc", subc, simm16, immSExt16>;
|
def RSUBIKC : ArithRI<0x0F, "rsubikc", subc, simm16, immSExt16>;
|
||||||
def ANDNI : ArithNI<0x2B, "andni ", uimm16, immZExt16>;
|
def ANDNI : ArithNI<0x2B, "andni ", uimm16, immZExt16>;
|
||||||
def ANDI : LogicI<0x29, "andi ", and>;
|
def ANDI : LogicI<0x29, "andi ", and>;
|
||||||
|
@@ -35,3 +35,58 @@
|
|||||||
# BINARY: 101011 00001 00010 0000000000001111
|
# BINARY: 101011 00001 00010 0000000000001111
|
||||||
# CHECK: encoding: [0xac,0x22,0x00,0x0f]
|
# CHECK: encoding: [0xac,0x22,0x00,0x0f]
|
||||||
andni r1, r2, 0x000F
|
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
|
||||||
|
Reference in New Issue
Block a user