mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-02 16:56:39 +00:00
When doing Thumb disassembly, there's no need to consider t2ADDrSPi12/t2SUBrSPi12,
as their generic counterparts t2ADDri12/t2SUBri12 should suffice. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@101929 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b545cde675
commit
56a1afb6b0
@ -60,6 +60,9 @@
|
|||||||
# CHECK: subw r0, pc, #1
|
# CHECK: subw r0, pc, #1
|
||||||
0xaf 0xf2 0x01 0x00
|
0xaf 0xf2 0x01 0x00
|
||||||
|
|
||||||
|
# CHECK: subw r0, sp, #835
|
||||||
|
0xad 0xf2 0x43 0x30
|
||||||
|
|
||||||
# CHECK: uqadd16 r3, r4, r5
|
# CHECK: uqadd16 r3, r4, r5
|
||||||
0x94 0xfa 0x55 0xf3
|
0x94 0xfa 0x55 0xf3
|
||||||
|
|
||||||
|
@ -1699,8 +1699,12 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction(
|
|||||||
// Ignore tADDrSP, tADDspr, and tPICADD, prefer the generic tADDhirr.
|
// Ignore tADDrSP, tADDspr, and tPICADD, prefer the generic tADDhirr.
|
||||||
// Ignore t2SUBrSPs, prefer the t2SUB[S]r[r|s].
|
// Ignore t2SUBrSPs, prefer the t2SUB[S]r[r|s].
|
||||||
// Ignore t2ADDrSPs, prefer the t2ADD[S]r[r|s].
|
// Ignore t2ADDrSPs, prefer the t2ADD[S]r[r|s].
|
||||||
|
// Ignore t2ADDrSPi/t2SUBrSPi, which have more generic couterparts.
|
||||||
|
// Ignore t2ADDrSPi12/t2SUBrSPi12, which have more generic couterparts
|
||||||
if (Name == "tADDrSP" || Name == "tADDspr" || Name == "tPICADD" ||
|
if (Name == "tADDrSP" || Name == "tADDspr" || Name == "tPICADD" ||
|
||||||
Name == "t2SUBrSPs" || Name == "t2ADDrSPs")
|
Name == "t2SUBrSPs" || Name == "t2ADDrSPs" ||
|
||||||
|
Name == "t2ADDrSPi" || Name == "t2SUBrSPi" ||
|
||||||
|
Name == "t2ADDrSPi12" || Name == "t2SUBrSPi12")
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// Ignore t2LDRDpci, prefer the generic t2LDRDi8, t2LDRD_PRE, t2LDRD_POST.
|
// Ignore t2LDRDpci, prefer the generic t2LDRDi8, t2LDRD_PRE, t2LDRD_POST.
|
||||||
@ -1723,7 +1727,6 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction(
|
|||||||
// tLDRcp conflicts with tLDRspi
|
// tLDRcp conflicts with tLDRspi
|
||||||
// tRestore conflicts with tLDRspi
|
// tRestore conflicts with tLDRspi
|
||||||
// t2LEApcrelJT conflicts with t2LEApcrel
|
// t2LEApcrelJT conflicts with t2LEApcrel
|
||||||
// t2ADDrSPi/t2SUBrSPi have more generic couterparts
|
|
||||||
if (Name == "tBfar" ||
|
if (Name == "tBfar" ||
|
||||||
/* Name == "tCMNz" || */ Name == "tCMPzi8" || Name == "tCMPzr" ||
|
/* Name == "tCMNz" || */ Name == "tCMPzi8" || Name == "tCMPzr" ||
|
||||||
Name == "tCMPzhir" || /* Name == "t2CMNzrr" || Name == "t2CMNzrs" ||
|
Name == "tCMPzhir" || /* Name == "t2CMNzrr" || Name == "t2CMNzrs" ||
|
||||||
@ -1731,7 +1734,7 @@ bool ARMDecoderEmitter::ARMDEBackend::populateInstruction(
|
|||||||
Name == "t2CMPzri" || Name == "tPOP_RET" || Name == "t2LDM_RET" ||
|
Name == "t2CMPzri" || Name == "tPOP_RET" || Name == "t2LDM_RET" ||
|
||||||
Name == "tMOVCCi" || Name == "tMOVCCr" || Name == "tBR_JTr" ||
|
Name == "tMOVCCi" || Name == "tMOVCCr" || Name == "tBR_JTr" ||
|
||||||
Name == "tSpill" || Name == "tLDRcp" || Name == "tRestore" ||
|
Name == "tSpill" || Name == "tLDRcp" || Name == "tRestore" ||
|
||||||
Name == "t2LEApcrelJT" || Name == "t2ADDrSPi" || Name == "t2SUBrSPi")
|
Name == "t2LEApcrelJT")
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user