hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp
changeset 34162 16b54851eaf6
parent 33628 09241459a8b8
child 34185 ee71c590a456
equal deleted inserted replaced
34159:f401f5b4327e 34162:16b54851eaf6
  3712 
  3712 
  3713   } else if (dest->is_single_xmm()) {
  3713   } else if (dest->is_single_xmm()) {
  3714     if (left->as_xmm_float_reg() != dest->as_xmm_float_reg()) {
  3714     if (left->as_xmm_float_reg() != dest->as_xmm_float_reg()) {
  3715       __ movflt(dest->as_xmm_float_reg(), left->as_xmm_float_reg());
  3715       __ movflt(dest->as_xmm_float_reg(), left->as_xmm_float_reg());
  3716     }
  3716     }
  3717     if (UseAVX > 1) {
  3717     if (UseAVX > 0) {
  3718       __ vnegatess(dest->as_xmm_float_reg(), dest->as_xmm_float_reg(),
  3718       __ vnegatess(dest->as_xmm_float_reg(), dest->as_xmm_float_reg(),
  3719                    ExternalAddress((address)float_signflip_pool));
  3719                    ExternalAddress((address)float_signflip_pool));
  3720     } else {
  3720     } else {
  3721       __ xorps(dest->as_xmm_float_reg(),
  3721       __ xorps(dest->as_xmm_float_reg(),
  3722                ExternalAddress((address)float_signflip_pool));
  3722                ExternalAddress((address)float_signflip_pool));
  3723     }
  3723     }
  3724   } else if (dest->is_double_xmm()) {
  3724   } else if (dest->is_double_xmm()) {
  3725     if (left->as_xmm_double_reg() != dest->as_xmm_double_reg()) {
  3725     if (left->as_xmm_double_reg() != dest->as_xmm_double_reg()) {
  3726       __ movdbl(dest->as_xmm_double_reg(), left->as_xmm_double_reg());
  3726       __ movdbl(dest->as_xmm_double_reg(), left->as_xmm_double_reg());
  3727     }
  3727     }
  3728     if (UseAVX > 1) {
  3728     if (UseAVX > 0) {
  3729       __ vnegatesd(dest->as_xmm_double_reg(), dest->as_xmm_double_reg(),
  3729       __ vnegatesd(dest->as_xmm_double_reg(), dest->as_xmm_double_reg(),
  3730                    ExternalAddress((address)double_signflip_pool));
  3730                    ExternalAddress((address)double_signflip_pool));
  3731     } else {
  3731     } else {
  3732       __ xorpd(dest->as_xmm_double_reg(),
  3732       __ xorpd(dest->as_xmm_double_reg(),
  3733                ExternalAddress((address)double_signflip_pool));
  3733                ExternalAddress((address)double_signflip_pool));