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)

Reply via email to