diff options
author | Richard Henderson <rth@redhat.com> | 2003-03-02 14:15:51 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-03-02 14:15:51 -0800 |
commit | ef1ecf87a64dfac8fb1ea61fbd176ffc893744f7 (patch) | |
tree | b96681e851036bec1d54fbdd5333ffa4ca2e6074 /gcc/config/ia64/ia64.c | |
parent | 1494f93a22a684562decd39f398c4f4f59606ce0 (diff) | |
download | gcc-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.c | 5 |
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); } |