aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/ia64/ia64.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2003-03-02 14:15:51 -0800
committerRichard Henderson <rth@gcc.gnu.org>2003-03-02 14:15:51 -0800
commitef1ecf87a64dfac8fb1ea61fbd176ffc893744f7 (patch)
treeb96681e851036bec1d54fbdd5333ffa4ca2e6074 /gcc/config/ia64/ia64.c
parent1494f93a22a684562decd39f398c4f4f59606ce0 (diff)
downloadgcc-ef1ecf87a64dfac8fb1ea61fbd176ffc893744f7.zip
gcc-ef1ecf87a64dfac8fb1ea61fbd176ffc893744f7.tar.gz
gcc-ef1ecf87a64dfac8fb1ea61fbd176ffc893744f7.tar.bz2
configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
* configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test. * config.in, configure: Rebuild. * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum. * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the paired ldtoffx and ldxmov annotations. (load_symptr_internal1): Remove. (load_symptr_high, load_symptr_low): New. From-SVN: r63696
Diffstat (limited to 'gcc/config/ia64/ia64.c')
-rw-r--r--gcc/config/ia64/ia64.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/ia64/ia64.c b/gcc/config/ia64/ia64.c
index 67d005a..6c61c72 100644
--- a/gcc/config/ia64/ia64.c
+++ b/gcc/config/ia64/ia64.c
@@ -7012,8 +7012,11 @@ ia64_ld_address_bypass_p (producer, consumer)
mem = XVECEXP (mem, 0, 0);
while (GET_CODE (mem) == SUBREG || GET_CODE (mem) == ZERO_EXTEND)
mem = XEXP (mem, 0);
- if (GET_CODE (mem) != MEM)
+
+ /* Note that LO_SUM is used for GOT loads. */
+ if (GET_CODE (mem) != LO_SUM && GET_CODE (mem) != MEM)
abort ();
+
return reg_mentioned_p (reg, mem);
}