mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-08-05 13:26:55 +00:00
ARM pre-UAL NEG mnemonic for convenience when porting old code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146511 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -5127,3 +5127,7 @@ def : ARMInstAlias<"ror${s}${p} $Rn, $Rm",
|
||||
// 'mul' instruction can be specified with only two operands.
|
||||
def : ARMInstAlias<"mul${s}${p} $Rn, $Rm",
|
||||
(MUL rGPR:$Rn, rGPR:$Rm, rGPR:$Rn, pred:$p, cc_out:$s)>;
|
||||
|
||||
// "neg" is and alias for "rsb rd, rn, #0"
|
||||
def : ARMInstAlias<"neg${s}${p} $Rd, $Rm",
|
||||
(RSBri GPR:$Rd, GPR:$Rm, 0, pred:$p, cc_out:$s)>;
|
||||
|
@@ -1131,9 +1131,6 @@ def tRSB : // A8.6.141
|
||||
"rsb", "\t$Rd, $Rn, #0",
|
||||
[(set tGPR:$Rd, (ineg tGPR:$Rn))]>;
|
||||
|
||||
def : tInstAlias<"neg${s}${p} $Rd, $Rm",
|
||||
(tRSB tGPR:$Rd, s_cc_out:$s, tGPR:$Rm, pred:$p)>;
|
||||
|
||||
// Subtract with carry register
|
||||
let Uses = [CPSR] in
|
||||
def tSBC : // A8.6.151
|
||||
@@ -1435,3 +1432,8 @@ def : InstAlias<"nop", (tMOVr R8, R8, 14, 0)>,Requires<[IsThumb, IsThumb1Only]>;
|
||||
// nothing).
|
||||
def : tInstAlias<"cps$imod", (tCPS imod_op:$imod, 0)>;
|
||||
def : tInstAlias<"cps$imod", (tCPS imod_op:$imod, 0)>;
|
||||
|
||||
// "neg" is and alias for "rsb rd, rn, #0"
|
||||
def : tInstAlias<"neg${s}${p} $Rd, $Rm",
|
||||
(tRSB tGPR:$Rd, s_cc_out:$s, tGPR:$Rm, pred:$p)>;
|
||||
|
||||
|
@@ -4122,3 +4122,7 @@ def : t2InstAlias<"add${s}${p} $Rd, $imm",
|
||||
// Wide 'mul' encoding can be specified with only two operands.
|
||||
def : t2InstAlias<"mul${p} $Rn, $Rm",
|
||||
(t2MUL rGPR:$Rn, rGPR:$Rm, rGPR:$Rn, pred:$p)>;
|
||||
|
||||
// "neg" is and alias for "rsb rd, rn, #0"
|
||||
def : t2InstAlias<"neg${s}${p} $Rd, $Rm",
|
||||
(t2RSBri rGPR:$Rd, rGPR:$Rm, 0, pred:$p, cc_out:$s)>;
|
||||
|
Reference in New Issue
Block a user