[committed] Fix small problem in fix for PR target/34091

John David Anglin dave@hiauly1.hia.nrc.ca
Sat Dec 22 11:19:00 GMT 2007

The enclosed change fixes a small problem introduced in the fix
for PR target/34091.  The macro INT14_OK_STRICT now controls when
14-bit offsets can be used.  While the PA 2.0 architecture supports
14-bits offsets in floating point loads and stores, the 32-bit
version of GNU ld doesn't yet support the relocations needed for
these modes.

Tested on hppp-unknown-linux-gnu and hppa64-hp-hpux11.11.  Committed
to trunk and 4.2.

J. David Anglin                                  dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada              (613) 990-0752 (FAX: 952-6602)

2007-12-21  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* pa.c (hppa_legitimize_address): Use INT14_OK_STRICT in mask selection.

Index: config/pa/pa.c
--- config/pa/pa.c	(revision 131126)
+++ config/pa/pa.c	(working copy)
@@ -948,7 +948,7 @@
       int mask;
       mask = (GET_MODE_CLASS (mode) == MODE_FLOAT
-	      ? (TARGET_PA_20 ? 0x3fff : 0x1f) : 0x3fff);
+	      ? (INT14_OK_STRICT ? 0x3fff : 0x1f) : 0x3fff);
       /* Choose which way to round the offset.  Round up if we
 	 are >= halfway to the next boundary.  */

More information about the Gcc-patches mailing list