[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/external/gpl3/gcc/dist/gcc/config/i386
On Mon, Oct 08, 2012 at 08:12:26AM +0100, David Laight wrote:
> On Sat, Oct 06, 2012 at 02:10:46PM +0000, Joerg Sonnenberger wrote:
> > Module Name: src
> > Committed By: joerg
> > Date: Sat Oct 6 14:10:46 UTC 2012
> > Modified Files:
> > src/external/gpl3/gcc/dist/gcc/config/i386: i386.h
> > Log Message:
> > PR 46978: ICE on spilling MMX registers
> > GCC/i386 has code to lower the required alignment for long long to 32bit
> > as the CPU doesn't need more. It is also using the same mode for setting
> > up the MMX registers and in turn, the stack slots reserved for spilling
> > require 32bit alignment. The actual vector types used keep the original
> > 64bit alignment, so when the compiler wants to spill a MMX register, it
> > hits an assertion. Fix this by using the vector type as raw type for MMX
> > registers.
> Doesn't that enforce a 64bit alignment when it isn't needed?
Correct. Given the general usefulness of MMX, I'm inclined to just
> Misaligned transfers for stack slots for MMX are actually fine.
Also correct. I haven't had time to hunt down where it comes up with
that assumption though.
Main Index |
Thread Index |