mirror of
git://gcc.gnu.org/git/gcc.git
synced 2024-12-28 13:16:00 +08:00
(stack adjust peepholes): Use lea instead of add.w when adding 16 bit
constants on all but TARGET_68040. From-SVN: r13569
This commit is contained in:
parent
073b0524fc
commit
b454fefef9
@ -6450,8 +6450,7 @@
|
||||
else
|
||||
output_asm_insn (\"addq%.l %1,%0\", xoperands);
|
||||
}
|
||||
else if (INTVAL (xoperands[1]) <= 16
|
||||
&& TARGET_68020 && !TARGET_68040 && !TARGET_68060)
|
||||
else if (TARGET_CPU32 && INTVAL (xoperands[1]) <= 16)
|
||||
{
|
||||
xoperands[1] = gen_rtx (CONST_INT, VOIDmode,
|
||||
INTVAL (xoperands[1]) - 8);
|
||||
@ -6459,8 +6458,17 @@
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (INTVAL (xoperands[1]) <= 0x7FFF && !TARGET_5200)
|
||||
output_asm_insn (\"add%.w %1,%0\", xoperands);
|
||||
if (INTVAL (xoperands[1]) <= 0x7FFF)
|
||||
{
|
||||
if (TARGET_68040)
|
||||
output_asm_insn (\"add%.w %1,%0\", xoperands);
|
||||
else
|
||||
#ifdef MOTOROLA
|
||||
output_asm_insn (\"lea (%c1,%0),%0\", xoperands);
|
||||
#else
|
||||
output_asm_insn (\"lea %0@(%c1),%0\", xoperands);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
output_asm_insn (\"add%.l %1,%0\", xoperands);
|
||||
}
|
||||
@ -6493,8 +6501,7 @@
|
||||
else
|
||||
output_asm_insn (\"addq%.l %1,%0\", xoperands);
|
||||
}
|
||||
else if (INTVAL (xoperands[1]) <= 16
|
||||
&& TARGET_68020 && !TARGET_68040 && !TARGET_68060)
|
||||
else if (TARGET_CPU32 && INTVAL (xoperands[1]) <= 16)
|
||||
{
|
||||
xoperands[1] = gen_rtx (CONST_INT, VOIDmode,
|
||||
INTVAL (xoperands[1]) - 8);
|
||||
@ -6502,8 +6509,17 @@
|
||||
}
|
||||
else
|
||||
#endif
|
||||
if (INTVAL (xoperands[1]) <= 0x7FFF && !TARGET_5200)
|
||||
output_asm_insn (\"add%.w %1,%0\", xoperands);
|
||||
if (INTVAL (xoperands[1]) <= 0x7FFF)
|
||||
{
|
||||
if (TARGET_68040)
|
||||
output_asm_insn (\"add%.w %1,%0\", xoperands);
|
||||
else
|
||||
#ifdef MOTOROLA
|
||||
output_asm_insn (\"lea (%c1,%0),%0\", xoperands);
|
||||
#else
|
||||
output_asm_insn (\"lea %0@(%c1),%0\", xoperands);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
output_asm_insn (\"add%.l %1,%0\", xoperands);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user