This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Another movdf_hardfloat32 patch
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: Another movdf_hardfloat32 patch
- From: Richard Henderson <rth at cygnus dot com>
- Date: Wed, 23 Jun 1999 15:27:44 -0700
- Cc: law at cygnus dot com, egcs-patches at egcs dot cygnus dot com
- References: <law@cygnus.com> <9906230415.AA47648@marc.watson.ibm.com>
On Wed, Jun 23, 1999 at 12:15:19AM -0400, David Edelsohn wrote:
> A LO_SUM address is required to be the equivalent of an
> offsettable address: reg+const.
It is, except that that `const' isn't known until link time.
One of the values for `const' that the linker can choose is 32764.
If you've emitted `@l(sym)+4' the instruction field will overflow
and you'll get -32768 instead of what you expected.
Emitting `@l(sym+4)' isn't an option either, since you'd have had
to emit `@ha(sym+4)' earlier, instead of `@ha(sym)', for similar
reasons of overflow.
r~