< prev index next >
src/hotspot/share/c1/c1_LinearScan.cpp
Print this page
@@ -1086,11 +1086,13 @@
// optimizations for second input operand of arithmehtic operations on Intel
// this operand is allowed to be on the stack in some cases
BasicType opr_type = opr->type_register();
if (opr_type == T_FLOAT || opr_type == T_DOUBLE) {
- if ((UseSSE == 1 && opr_type == T_FLOAT) || UseSSE >= 2 S390_ONLY(|| true)) {
+#ifdef X86
+ if ((UseSSE == 1 && opr_type == T_FLOAT) || UseSSE >= 2) {
+#endif
// SSE float instruction (T_DOUBLE only supported with SSE2)
switch (op->code()) {
case lir_cmp:
case lir_add:
case lir_sub:
@@ -1105,10 +1107,11 @@
}
}
default:
break;
}
+#ifdef X86
} else {
// FPU stack float instruction
switch (op->code()) {
case lir_add:
case lir_sub:
@@ -1124,10 +1127,11 @@
}
default:
break;
}
}
+#endif
// We want to sometimes use logical operations on pointers, in particular in GC barriers.
// Since 64bit logical operations do not current support operands on stack, we have to make sure
// T_OBJECT doesn't get spilled along with T_LONG.
} else if (opr_type != T_LONG LP64_ONLY(&& opr_type != T_OBJECT)) {
// integer instruction (note: long operands must always be in register)
< prev index next >