< prev index next >

src/hotspot/share/c1/c1_LIR.cpp

Print this page

        

@@ -605,10 +605,16 @@
         // destroy inputs. On other platforms that implement those
         // (x86, sparc), the extra constrainsts are harmless.
         if (op2->_opr1->is_valid())       do_temp(op2->_opr1);
         if (op2->_opr2->is_valid())       do_temp(op2->_opr2);
       }
+#if (defined(X86) && !defined(_LP64))
+      if (op->code() == lir_cmp &&
+          op2->_opr1->is_double_cpu() && op2->_opr2->is_double_cpu()) {
+        if (op2->_opr1->is_valid())       do_temp(op2->_opr1);
+      }
+#endif
 
       break;
     }
 
     // special handling for cmove: right input operand must not be equal
< prev index next >