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:
Philip Blundell 2003-05-15 18:13:41 +00:00 committed by Phil Blundell
parent dffbbe8019
commit c75a3ddc67
2 changed files with 12 additions and 0 deletions

View file

@ -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.

View file

@ -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;