mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-15 06:29:05 +00:00
Use new ForceDisassemble flag on the 2-byte forms of INC/DEC for 32-bit mode and remove disassmbler table emitter hack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198544 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -497,7 +497,8 @@ def DEC64_32r : I<0xFF, MRM1r, (outs GR32:$dst), (ins GR32:$src1),
|
|||||||
Requires<[In64BitMode]>;
|
Requires<[In64BitMode]>;
|
||||||
} // isConvertibleToThreeAddress = 1, CodeSize = 2
|
} // isConvertibleToThreeAddress = 1, CodeSize = 2
|
||||||
|
|
||||||
let isCodeGenOnly = 1, CodeSize = 2 in {
|
let isCodeGenOnly = 1, ForceDisassemble = 1, hasSideEffects = 0,
|
||||||
|
CodeSize = 2 in {
|
||||||
def INC32_16r : I<0xFF, MRM0r, (outs GR16:$dst), (ins GR16:$src1),
|
def INC32_16r : I<0xFF, MRM0r, (outs GR16:$dst), (ins GR16:$src1),
|
||||||
"inc{w}\t$dst", [], IIC_UNARY_REG>,
|
"inc{w}\t$dst", [], IIC_UNARY_REG>,
|
||||||
OpSize, Requires<[Not64BitMode]>;
|
OpSize, Requires<[Not64BitMode]>;
|
||||||
@@ -510,7 +511,7 @@ def DEC32_16r : I<0xFF, MRM1r, (outs GR16:$dst), (ins GR16:$src1),
|
|||||||
def DEC32_32r : I<0xFF, MRM1r, (outs GR32:$dst), (ins GR32:$src1),
|
def DEC32_32r : I<0xFF, MRM1r, (outs GR32:$dst), (ins GR32:$src1),
|
||||||
"dec{l}\t$dst", [], IIC_UNARY_REG>,
|
"dec{l}\t$dst", [], IIC_UNARY_REG>,
|
||||||
Requires<[Not64BitMode]>;
|
Requires<[Not64BitMode]>;
|
||||||
} // isCodeGenOnly = 1, CodeSize = 2
|
} // isCodeGenOnly = 1, ForceDisassemble = 1, HasSideEffects = 0, CodeSize = 2
|
||||||
|
|
||||||
} // Constraints = "$src1 = $dst", SchedRW
|
} // Constraints = "$src1 = $dst", SchedRW
|
||||||
|
|
||||||
|
@@ -483,9 +483,7 @@ RecognizableInstr::filter_ret RecognizableInstr::filter() const {
|
|||||||
|
|
||||||
assert(Rec->isSubClassOf("X86Inst") && "Can only filter X86 instructions");
|
assert(Rec->isSubClassOf("X86Inst") && "Can only filter X86 instructions");
|
||||||
|
|
||||||
if (Form == X86Local::Pseudo ||
|
if (Form == X86Local::Pseudo || (IsCodeGenOnly && !ForceDisassemble))
|
||||||
(IsCodeGenOnly && !ForceDisassemble &&
|
|
||||||
Name.find("INC32") == Name.npos && Name.find("DEC32") == Name.npos))
|
|
||||||
return FILTER_STRONG;
|
return FILTER_STRONG;
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user