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:
Zoran Jovanovic 2014-01-15 13:17:33 +00:00
parent f5c2d3896b
commit 814c8910f2
3 changed files with 15 additions and 4 deletions

View File

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

View File

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

View File

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