< 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 >