[csl-sol210] Patch to disable ldd and std for 32-bit SPARC

Richard Henderson rth@redhat.com
Fri May 20 00:11:00 GMT 2005


On Thu, May 19, 2005 at 10:09:24PM +0000, Joseph S. Myers wrote:
> This patch, for csl-sol210-3_4-branch (which is now being used more
> generally for the Solaris 10 compiler on SPARC as well as AMD64), adds
> a command-line option to disable use of the SPARC ldd and std
> instructions with integer operands.  This is for use with large bodies
> of legacy code which has inadequately aligned 64-bit values.

I think the option is mis-named and specifies the wrong thing.  
It should instead specify that long long implies only 32-bit
alignment.

If the compiler can prove (or generate for itself) larger alignment,
then it should still be allowed to use ldd/std.

Further, by not properly telling the optimizers about the real
alignment, you risk emitting wrong-code for some corner cases.


r~



More information about the Gcc-patches mailing list