re PR target/10730 ([arm] -O2 generates invalid asm)
2003-05-15 Philip Blundell <philb@gnu.org> PR target/10730 * config/arm/arm.c (adjacent_mem_locations): Reject offsets involving invalid constants. From-SVN: r66838
This commit is contained in:
parent
dffbbe8019
commit
c75a3ddc67
2 changed files with 12 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2003-05-15 Philip Blundell <philb@gnu.org>
|
||||
|
||||
PR target/10730
|
||||
* config/arm/arm.c (adjacent_mem_locations): Reject offsets
|
||||
involving invalid constants.
|
||||
|
||||
2003-05-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
* pa.c (hppa_expand_prologue): Remove blockage.
|
||||
|
|
|
@ -4571,6 +4571,12 @@ adjacent_mem_locations (a, b)
|
|||
else
|
||||
reg1 = REGNO (XEXP (b, 0));
|
||||
|
||||
/* Don't accept any offset that will require multiple instructions to handle,
|
||||
since this would cause the arith_adjacentmem pattern to output an overlong
|
||||
sequence. */
|
||||
if (!const_ok_for_op (PLUS, val0) || !const_ok_for_op (PLUS, val1))
|
||||
return 0;
|
||||
|
||||
return (reg0 == reg1) && ((val1 - val0) == 4 || (val0 - val1) == 4);
|
||||
}
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue