mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 15:11:08 +08:00
Fix previous change: {add,sub}qw should be {add,sub}ql.
Fix previous change: {add,sub}qw should be {add,sub}ql. For other uses of {add,sub}q don't check for address register and always use {add,sub}ql. From-SVN: r13523
This commit is contained in:
parent
883dc89ca6
commit
a388a7aa66
@ -2154,21 +2154,17 @@
|
||||
#ifndef NO_ADDSUB_Q
|
||||
if (INTVAL (operands[2]) > 0
|
||||
&& INTVAL (operands[2]) <= 8)
|
||||
return (ADDRESS_REG_P (operands[0]) && !TARGET_5200
|
||||
? \"addq%.w %2,%0\"
|
||||
: \"addq%.l %2,%0\");
|
||||
return \"addq%.l %2,%0\";
|
||||
if (INTVAL (operands[2]) < 0
|
||||
&& INTVAL (operands[2]) >= -8)
|
||||
{
|
||||
operands[2] = gen_rtx (CONST_INT, VOIDmode,
|
||||
- INTVAL (operands[2]));
|
||||
return (ADDRESS_REG_P (operands[0]) && !TARGET_5200
|
||||
? \"subq%.w %2,%0\"
|
||||
: \"subq%.l %2,%0\");
|
||||
return \"subq%.l %2,%0\";
|
||||
}
|
||||
/* On the CPU32 it is faster to use two addqw instructions to
|
||||
/* On the CPU32 it is faster to use two addql instructions to
|
||||
add a small integer (8 < N <= 16) to a register.
|
||||
Likewise for subqw. */
|
||||
Likewise for subql. */
|
||||
if (TARGET_CPU32 && REG_P (operands[0]))
|
||||
{
|
||||
if (INTVAL (operands[2]) > 8
|
||||
@ -2176,14 +2172,14 @@
|
||||
{
|
||||
operands[2] = gen_rtx (CONST_INT, VOIDmode,
|
||||
INTVAL (operands[2]) - 8);
|
||||
return \"addq%.w %#8,%0\;addq%.w %2,%0\";
|
||||
return \"addq%.l %#8,%0\;addq%.l %2,%0\";
|
||||
}
|
||||
if (INTVAL (operands[2]) < -8
|
||||
&& INTVAL (operands[2]) >= -16)
|
||||
{
|
||||
operands[2] = gen_rtx (CONST_INT, VOIDmode,
|
||||
- INTVAL (operands[2]) - 8);
|
||||
return \"subq%.w %#8,%0\;subq%.w %2,%0\";
|
||||
return \"subq%.l %#8,%0\;subq%.l %2,%0\";
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user