Skip to content

Commit c3139ab

Browse files
committed
8256220: C1: x86_32 fails with -XX:UseSSE=1 after JDK-8210764 due to mishandled lir_neg
Reviewed-by: chagedorn
1 parent 1d3d64f commit c3139ab

File tree

1 file changed

+2
-16
lines changed

1 file changed

+2
-16
lines changed

src/hotspot/cpu/x86/c1_LinearScan_x86.cpp

Lines changed: 2 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -550,21 +550,6 @@ void FpuStackAllocator::handle_op1(LIR_Op1* op1) {
550550
break;
551551
}
552552

553-
case lir_neg: {
554-
if (in->is_fpu_register() && !in->is_xmm_register()) {
555-
assert(res->is_fpu_register() && !res->is_xmm_register(), "must be");
556-
assert(in->is_last_use(), "old value gets destroyed");
557-
558-
insert_free_if_dead(res, in);
559-
insert_exchange(in);
560-
new_in = to_fpu_stack_top(in);
561-
562-
do_rename(in, res);
563-
new_res = to_fpu_stack_top(res);
564-
}
565-
break;
566-
}
567-
568553
case lir_convert: {
569554
Bytecodes::Code bc = op1->as_OpConvert()->bytecode();
570555
switch (bc) {
@@ -772,7 +757,8 @@ void FpuStackAllocator::handle_op2(LIR_Op2* op2) {
772757
}
773758

774759
case lir_abs:
775-
case lir_sqrt: {
760+
case lir_sqrt:
761+
case lir_neg: {
776762
// Right argument appears to be unused
777763
assert(right->is_illegal(), "must be");
778764
assert(left->is_fpu_register(), "must be");

0 commit comments

Comments
 (0)