[Bug target/44578] GCC generates MMX instructions but fails to generate "emms"
ubizjak at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Apr 29 17:37:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44578
--- Comment #10 from Uros Bizjak <ubizjak at gmail dot com> 2013-04-29 17:37:03 UTC ---
(In reply to comment #9)
> It does fix the issue I had in this test case. But theoretically can't
> this pattern still generate an MMX reference in some cases? And I see
> other instances of the same constraint in i386.md - is there a larger
> issue here and how can we prevent this?
Yes, leaks of MMX registers were quite problematic in the past. A lot of effort
went into insn patterns to balance register allocator to allow MMX registers
when necessary, and to avoid them otherwise. It looks that zero_extendsidi
pattern was skipped in these efforts.
-mno-mmx can be used to prevent MMX regs, but the allocator is quite well tuned
nowadays, so instantiation of %mmX registers when not strictly needed will be
considered a bug.
More information about the Gcc-bugs
mailing list