diff -r 610b27224729 -r 8401c6dc109a src/share/vm/c1/c1_LIR.cpp --- a/src/share/vm/c1/c1_LIR.cpp Tue Sep 18 10:18:15 2018 +0800 +++ b/src/share/vm/c1/c1_LIR.cpp Tue Sep 18 11:27:54 2018 +0800 @@ -305,6 +305,18 @@ if (dst_lo == src_lo) return true; #endif } + } else if (is_double_fpu()) { + if (opr->is_double_fpu()) { + return as_double_reg() == opr->as_double_reg(); + } else if (opr->is_single_fpu()) { + return as_double_reg() == opr->as_float_reg(); + } + } else if (is_single_fpu()) { + if (opr->is_single_fpu()) { + return as_float_reg() == opr->as_float_reg(); + } else if (opr->is_double_fpu()) { + return as_float_reg() == opr->as_double_reg(); + } } return false; }