On Wed, Apr 05, 2017 at 10:12:02AM +0200, Uros Bizjak wrote: > Oh, I forgot to point out that on x86_64 ABI specifies MMX values in > SSE registers.
I know it does. And if people have their own function that returns __m64 or takes such arguments, they surely have to. The question is only about the case when no function (in the assembly) returns in SSE registers nor gets arguments in them, when all the MMX code is inside of a function. With your patch, it is - the MMX intrinsics are functions and we error on them even when they are inlined. With my patch we count only the non-inlined functions, something we emit assembly for or call them from other TUs. If you think requiring SSE for MMX always in 64-bit code is fine, even when not strictly needed (as in, you really don't need SSE ISA to execute such code, although there are no CPUs without that HW), so be it, then let's go with your patch. Jakub