This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Another movdf_hardfloat32 patch


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~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]