mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-27 13:30:05 +00:00
LL and SC decoder method fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@199316 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f5c2d3896b
commit
814c8910f2
@ -48,16 +48,15 @@ class StoreLeftRightMM<string opstr, SDNode OpNode, RegisterOperand RO,
|
||||
class LLBaseMM<string opstr, RegisterOperand RO> :
|
||||
InstSE<(outs RO:$rt), (ins mem_mm_12:$addr),
|
||||
!strconcat(opstr, "\t$rt, $addr"), [], NoItinerary, FrmI> {
|
||||
let DecoderMethod = "DecodeMem";
|
||||
let DecoderMethod = "DecodeMemMMImm12";
|
||||
let mayLoad = 1;
|
||||
}
|
||||
|
||||
class SCBaseMM<string opstr, RegisterOperand RO> :
|
||||
InstSE<(outs RO:$dst), (ins RO:$rt, mem_mm_12:$addr),
|
||||
InstSE<(outs), (ins RO:$rt, mem_mm_12:$addr),
|
||||
!strconcat(opstr, "\t$rt, $addr"), [], NoItinerary, FrmI> {
|
||||
let DecoderMethod = "DecodeMem";
|
||||
let DecoderMethod = "DecodeMemMMImm12";
|
||||
let mayStore = 1;
|
||||
let Constraints = "$rt = $dst";
|
||||
}
|
||||
|
||||
class LoadMM<string opstr, DAGOperand RO, SDPatternOperator OpNode = null_frag,
|
||||
|
@ -288,3 +288,9 @@
|
||||
|
||||
# CHECK: tnei $9, 17767
|
||||
0x41 0x89 0x45 0x67
|
||||
|
||||
# CHECK: ll $2, 8($4)
|
||||
0x60 0x44 0x30 0x08
|
||||
|
||||
# CHECK: sc $2, 8($4)
|
||||
0x60 0x44 0xb0 0x08
|
||||
|
@ -288,3 +288,9 @@
|
||||
|
||||
# CHECK: tnei $9, 17767
|
||||
0x89 0x41 0x67 0x45
|
||||
|
||||
# CHECK: ll $2, 8($4)
|
||||
0x44 0x60 0x08 0x30
|
||||
|
||||
# CHECK: sc $2, 8($4)
|
||||
0x44 0x60 0x08 0xb0
|
||||
|
Loading…
Reference in New Issue
Block a user