http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50482
Uros Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2011-09-22 Target Milestone|--- |4.7.0 Ever Confirmed|0 |1 --- Comment #1 from Uros Bizjak <ubizjak at gmail dot com> 2011-09-22 11:54:40 UTC --- Confirmed with -O3 -msse4, caused by recent change. Untested patch: Index: i386.c =================================================================== --- i386.c (revision 179076) +++ i386.c (working copy) @@ -18911,6 +18911,9 @@ ix86_expand_sse_movcc (rtx dest, rtx cmp, rtx op_t { rtx (*gen) (rtx, rtx, rtx, rtx) = NULL; + if (!nonimmediate_operand (op_true, mode)) + op_true = force_reg (mode, op_true); + op_false = force_reg (mode, op_false); switch (mode)