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. Uros.