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.