[Bug target/69648] [5/6 Regression] wrong code with -O -mtune=winchip-c6 -fPIC -fexpensive-optimizations -msse4 @ i686

bernds at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Feb 3 14:10:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69648

--- Comment #5 from Bernd Schmidt <bernds at gcc dot gnu.org> ---
Yeah, my current theory is that r87 is spilled at the start, then the spill reg
is inherited in all the existing uses of it, and lra thinks it can avoid
storing it to memory.

Then we add a new reference to it for the pinsrw insn, and that isn't
initialized.

I seem to recall that this is a general problem with the idea of using a pseudo
for the PIC register, so surely there must have been some attempt to address
this when x86 was converted. So far I can't find anything though. Uroš - any
pointers?


More information about the Gcc-bugs mailing list