md.texi (Standard Names): Clarify when movX is needed.
* md.texi (Standard Names): Clarify when movX is needed. * combine.c (simplify_comparison) [MINUS]: Do not replace all (op (minus A B) 0) with (op A B). From-SVN: r32940
This commit is contained in:
parent
0d0df4fcbf
commit
65945ec1b3
3 changed files with 13 additions and 9 deletions
|
@ -4,6 +4,11 @@ Wed Apr 5 12:35:18 2000 Hans-Peter Nilsson <hp@axis.com>
|
|||
from the insn where REG_RETVAL is added.
|
||||
(emit_no_conflict_block): Ditto.
|
||||
|
||||
* md.texi (Standard Names): Clarify when movX is needed.
|
||||
|
||||
* combine.c (simplify_comparison) [MINUS]: Do not replace
|
||||
all (op (minus A B) 0) with (op A B).
|
||||
|
||||
Wed Apr 5 18:03:31 2000 Toshiyasu Morita (toshi.morita@sega.com)
|
||||
J"orn Rennecke <amylaar@cygnus.co.uk>
|
||||
|
||||
|
|
|
@ -10452,13 +10452,10 @@ simplify_comparison (code, pop0, pop1)
|
|||
break;
|
||||
|
||||
case MINUS:
|
||||
/* (op (minus A B) 0) -> (op A B) */
|
||||
if (op1 == const0_rtx)
|
||||
{
|
||||
op1 = XEXP (op0, 1);
|
||||
op0 = XEXP (op0, 0);
|
||||
continue;
|
||||
}
|
||||
/* We used to optimize signed comparisons against zero, but that
|
||||
was incorrect. Unsigned comparisons against zero (GTU, LEU)
|
||||
arrive here as equality comparisons, or (GEU, LTU) are
|
||||
optimized away. No need to special-case them. */
|
||||
|
||||
/* (eq (minus A B) C) -> (eq A (plus B C)) or
|
||||
(eq B (minus A C)), whichever simplifies. We can only do
|
||||
|
|
|
@ -1822,8 +1822,10 @@ to store the specified value in the part of the register that corresponds
|
|||
to mode @var{m}. The effect on the rest of the register is undefined.
|
||||
|
||||
This class of patterns is special in several ways. First of all, each
|
||||
of these names @emph{must} be defined, because there is no other way
|
||||
to copy a datum from one place to another.
|
||||
of these names up to and including full word size @emph{must} be defined,
|
||||
because there is no other way to copy a datum from one place to another.
|
||||
If there are patterns accepting operands in larger modes,
|
||||
@samp{mov@var{m}} must be defined for integer modes of those sizes.
|
||||
|
||||
Second, these patterns are not used solely in the RTL generation pass.
|
||||
Even the reload pass can generate move insns to copy values from stack
|
||||
|
|
Loading…
Add table
Reference in a new issue