On Mon, Feb 4, 2019 at 10:10 AM Uros Bizjak <ubiz...@gmail.com> wrote:
>
> On Fri, Feb 1, 2019 at 10:18 PM H.J. Lu <hjl.to...@gmail.com> wrote:
> >
> > On x86-64, since __m64 is returned and passed in XMM registers, we can
> > implement MMX intrinsics with SSE instructions. To support it, we disable
> > MMX by default in 64-bit mode so that MMX registers won't be available
> > with x86-64.  Most of MMX instructions have equivalent SSE versions and
> > results of some SSE versions need to be reshuffled to the right order
> > for MMX.  Thee are couple tricky cases:
>
> I don't think we have to disable MMX registers, but we have to tune
> register allocation preferences to not allocate MMX register unless
> really necessary. In practice, this means to change y constraints to
> *y when TARGET_MMX_WITH_SSE is active (probably using enable
> attribute). This would solve problem with assembler clobbers that Andi
> exposed.

But is "unless really necessary" good enough to not have it wrongly
under any circumstance?  I actually like HJs patch (not looked at the
details though).  I'd have gone a more aggressive way of simply defaulting
to -mno-mmx without any emulation or whatnot though.

Richard.

>
> Uros.

Reply via email to