src/hotspot/cpu/x86/c1_LIRAssembler_x86.cpp
changeset 53171 3ab3cb8a8d41
parent 52675 7d3cde494494
child 55105 9ad765641e8f
child 58678 9cf78a70fa4f
equal deleted inserted replaced
53170:6a25433b30ed 53171:3ab3cb8a8d41
   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         }