equal
deleted
inserted
replaced
647 break; |
647 break; |
648 } |
648 } |
649 |
649 |
650 case T_FLOAT: { |
650 case T_FLOAT: { |
651 if (dest->is_single_xmm()) { |
651 if (dest->is_single_xmm()) { |
652 if (LP64_ONLY(UseAVX < 2 &&) c->is_zero_float()) { |
652 if (LP64_ONLY(UseAVX <= 2 &&) c->is_zero_float()) { |
653 __ xorps(dest->as_xmm_float_reg(), dest->as_xmm_float_reg()); |
653 __ xorps(dest->as_xmm_float_reg(), dest->as_xmm_float_reg()); |
654 } else { |
654 } else { |
655 __ movflt(dest->as_xmm_float_reg(), |
655 __ movflt(dest->as_xmm_float_reg(), |
656 InternalAddress(float_constant(c->as_jfloat()))); |
656 InternalAddress(float_constant(c->as_jfloat()))); |
657 } |
657 } |
669 break; |
669 break; |
670 } |
670 } |
671 |
671 |
672 case T_DOUBLE: { |
672 case T_DOUBLE: { |
673 if (dest->is_double_xmm()) { |
673 if (dest->is_double_xmm()) { |
674 if (LP64_ONLY(UseAVX < 2 &&) c->is_zero_double()) { |
674 if (LP64_ONLY(UseAVX <= 2 &&) c->is_zero_double()) { |
675 __ xorpd(dest->as_xmm_double_reg(), dest->as_xmm_double_reg()); |
675 __ xorpd(dest->as_xmm_double_reg(), dest->as_xmm_double_reg()); |
676 } else { |
676 } else { |
677 __ movdbl(dest->as_xmm_double_reg(), |
677 __ movdbl(dest->as_xmm_double_reg(), |
678 InternalAddress(double_constant(c->as_jdouble()))); |
678 InternalAddress(double_constant(c->as_jdouble()))); |
679 } |
679 } |