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.

Reply via email to