mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-26 07:34:14 +00:00
Fix decoding of ARM-mode STRH.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137499 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c513309224
commit
79628e92e1
@ -664,6 +664,7 @@ class AI3str<bits<4> op, dag oops, dag iops, Format f, InstrItinClass itin,
|
||||
let Inst{11-8} = addr{7-4}; // imm7_4/zero
|
||||
let Inst{7-4} = op;
|
||||
let Inst{3-0} = addr{3-0}; // imm3_0/Rm
|
||||
let DecoderMethod = "DecodeAddrMode3Instruction";
|
||||
}
|
||||
|
||||
// Pre-indexed stores
|
||||
|
@ -2365,6 +2365,7 @@ def STRH_PRE : AI3ldstidx<0b1011, 0, 1, (outs GPR:$Rn_wb),
|
||||
let Inst{11-8} = addr{7-4}; // imm7_4/zero
|
||||
let Inst{3-0} = addr{3-0}; // imm3_0/Rm
|
||||
let AsmMatchConverter = "cvtStWriteBackRegAddrMode3";
|
||||
let DecoderMethod = "DecodeAddrMode3Instruction";
|
||||
}
|
||||
|
||||
def STRH_POST : AI3ldstidx<0b1011, 0, 0, (outs GPR:$Rn_wb),
|
||||
@ -2381,6 +2382,7 @@ def STRH_POST : AI3ldstidx<0b1011, 0, 0, (outs GPR:$Rn_wb),
|
||||
let Inst{19-16} = addr;
|
||||
let Inst{11-8} = offset{7-4}; // imm7_4/zero
|
||||
let Inst{3-0} = offset{3-0}; // imm3_0/Rm
|
||||
let DecoderMethod = "DecodeAddrMode3Instruction";
|
||||
}
|
||||
|
||||
let mayStore = 1, neverHasSideEffects = 1, hasExtraSrcRegAllocReq = 1 in {
|
||||
|
@ -1090,6 +1090,9 @@ static bool DecodeAddrMode3Instruction(llvm::MCInst &Inst, unsigned Insn,
|
||||
case ARM::STRD:
|
||||
case ARM::STRD_PRE:
|
||||
case ARM::STRD_POST:
|
||||
case ARM::STRH:
|
||||
case ARM::STRH_PRE:
|
||||
case ARM::STRH_POST:
|
||||
if (!DecodeGPRRegisterClass(Inst, Rn, Address, Decoder))
|
||||
return false;
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user