mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-10-02 17:55:18 +00:00
Fix another using-CPSR-twice bug in my ADCS/SBCS cleanups, and make proper use of the Commutable bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129294 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3d32202748
commit
78a546936d
@ -934,6 +934,8 @@ multiclass AI1_adde_sube_irs<bits<4> opcod, string opc, PatFrag opnode,
|
|||||||
let Inst{19-16} = Rn;
|
let Inst{19-16} = Rn;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Carry setting variants
|
// Carry setting variants
|
||||||
// NOTE: CPSR def omitted because it will be handled by the custom inserter.
|
// NOTE: CPSR def omitted because it will be handled by the custom inserter.
|
||||||
let usesCustomInserter = 1 in {
|
let usesCustomInserter = 1 in {
|
||||||
@ -943,13 +945,14 @@ multiclass AI1_adde_sube_s_irs<PatFrag opnode, bit Commutable = 0> {
|
|||||||
[(set GPR:$Rd, (opnode GPR:$Rn, so_imm:$imm))]>;
|
[(set GPR:$Rd, (opnode GPR:$Rn, so_imm:$imm))]>;
|
||||||
def Srr : ARMPseudoInst<(outs GPR:$Rd), (ins GPR:$Rn, GPR:$Rm),
|
def Srr : ARMPseudoInst<(outs GPR:$Rd), (ins GPR:$Rn, GPR:$Rm),
|
||||||
Size4Bytes, IIC_iALUr,
|
Size4Bytes, IIC_iALUr,
|
||||||
[(set GPR:$Rd, (opnode GPR:$Rn, GPR:$Rm))]>;
|
[(set GPR:$Rd, (opnode GPR:$Rn, GPR:$Rm))]> {
|
||||||
|
let isCommutable = Commutable;
|
||||||
|
}
|
||||||
def Srs : ARMPseudoInst<(outs GPR:$Rd), (ins GPR:$Rn, so_reg:$shift),
|
def Srs : ARMPseudoInst<(outs GPR:$Rd), (ins GPR:$Rn, so_reg:$shift),
|
||||||
Size4Bytes, IIC_iALUsr,
|
Size4Bytes, IIC_iALUsr,
|
||||||
[(set GPR:$Rd, (opnode GPR:$Rn, so_reg:$shift))]>;
|
[(set GPR:$Rd, (opnode GPR:$Rn, so_reg:$shift))]>;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
let canFoldAsLoad = 1, isReMaterializable = 1 in {
|
let canFoldAsLoad = 1, isReMaterializable = 1 in {
|
||||||
multiclass AI_ldr1<bit isByte, string opc, InstrItinClass iii,
|
multiclass AI_ldr1<bit isByte, string opc, InstrItinClass iii,
|
||||||
|
Loading…
Reference in New Issue
Block a user