hotspot/src/cpu/x86/vm/templateTable_x86.cpp
changeset 33794 41ef3dc95179
parent 33160 c59f1676d27e
child 34651 07b1cc0f6040
equal deleted inserted replaced
33790:229ed95d8958 33794:41ef3dc95179
  1609 static jlong double_signflip_pool[2*2];
  1609 static jlong double_signflip_pool[2*2];
  1610 
  1610 
  1611 void TemplateTable::fneg() {
  1611 void TemplateTable::fneg() {
  1612   transition(ftos, ftos);
  1612   transition(ftos, ftos);
  1613   if (UseSSE >= 1) {
  1613   if (UseSSE >= 1) {
  1614     static jlong *float_signflip  = double_quadword(&float_signflip_pool[1], 0x8000000080000000, 0x8000000080000000);
  1614     static jlong *float_signflip  = double_quadword(&float_signflip_pool[1],  CONST64(0x8000000080000000),  CONST64(0x8000000080000000));
  1615     __ xorps(xmm0, ExternalAddress((address) float_signflip));
  1615     __ xorps(xmm0, ExternalAddress((address) float_signflip));
  1616   } else {
  1616   } else {
  1617     LP64_ONLY(ShouldNotReachHere());
  1617     LP64_ONLY(ShouldNotReachHere());
  1618     NOT_LP64(__ fchs());
  1618     NOT_LP64(__ fchs());
  1619   }
  1619   }
  1620 }
  1620 }
  1621 
  1621 
  1622 void TemplateTable::dneg() {
  1622 void TemplateTable::dneg() {
  1623   transition(dtos, dtos);
  1623   transition(dtos, dtos);
  1624   if (UseSSE >= 2) {
  1624   if (UseSSE >= 2) {
  1625     static jlong *double_signflip  = double_quadword(&double_signflip_pool[1], 0x8000000000000000, 0x8000000000000000);
  1625     static jlong *double_signflip =
       
  1626       double_quadword(&double_signflip_pool[1], CONST64(0x8000000000000000), CONST64(0x8000000000000000));
  1626     __ xorpd(xmm0, ExternalAddress((address) double_signflip));
  1627     __ xorpd(xmm0, ExternalAddress((address) double_signflip));
  1627   } else {
  1628   } else {
  1628 #ifdef _LP64
  1629 #ifdef _LP64
  1629     ShouldNotReachHere();
  1630     ShouldNotReachHere();
  1630 #else
  1631 #else