1.1 --- a/src/cpu/x86/vm/assembler_x86.cpp Wed Dec 08 04:50:35 2010 -0800 1.2 +++ b/src/cpu/x86/vm/assembler_x86.cpp Wed Dec 08 17:50:49 2010 -0800 1.3 @@ -2649,6 +2649,37 @@ 1.4 emit_byte(0xC0 | encode); 1.5 } 1.6 1.7 +void Assembler::sqrtsd(XMMRegister dst, Address src) { 1.8 + NOT_LP64(assert(VM_Version::supports_sse2(), "")); 1.9 + InstructionMark im(this); 1.10 + emit_byte(0xF2); 1.11 + prefix(src, dst); 1.12 + emit_byte(0x0F); 1.13 + emit_byte(0x51); 1.14 + emit_operand(dst, src); 1.15 +} 1.16 + 1.17 +void Assembler::sqrtss(XMMRegister dst, XMMRegister src) { 1.18 + // HMM Table D-1 says sse2 1.19 + // NOT_LP64(assert(VM_Version::supports_sse(), "")); 1.20 + NOT_LP64(assert(VM_Version::supports_sse2(), "")); 1.21 + emit_byte(0xF3); 1.22 + int encode = prefix_and_encode(dst->encoding(), src->encoding()); 1.23 + emit_byte(0x0F); 1.24 + emit_byte(0x51); 1.25 + emit_byte(0xC0 | encode); 1.26 +} 1.27 + 1.28 +void Assembler::sqrtss(XMMRegister dst, Address src) { 1.29 + NOT_LP64(assert(VM_Version::supports_sse2(), "")); 1.30 + InstructionMark im(this); 1.31 + emit_byte(0xF3); 1.32 + prefix(src, dst); 1.33 + emit_byte(0x0F); 1.34 + emit_byte(0x51); 1.35 + emit_operand(dst, src); 1.36 +} 1.37 + 1.38 void Assembler::stmxcsr( Address dst) { 1.39 NOT_LP64(assert(VM_Version::supports_sse(), "")); 1.40 InstructionMark im(this); 1.41 @@ -4358,16 +4389,6 @@ 1.42 emit_byte(0xE8 | encode); 1.43 } 1.44 1.45 -void Assembler::sqrtsd(XMMRegister dst, Address src) { 1.46 - NOT_LP64(assert(VM_Version::supports_sse2(), "")); 1.47 - InstructionMark im(this); 1.48 - emit_byte(0xF2); 1.49 - prefix(src, dst); 1.50 - emit_byte(0x0F); 1.51 - emit_byte(0x51); 1.52 - emit_operand(dst, src); 1.53 -} 1.54 - 1.55 void Assembler::subq(Address dst, int32_t imm32) { 1.56 InstructionMark im(this); 1.57 prefixq(dst); 1.58 @@ -4929,10 +4950,6 @@ 1.59 } 1.60 1.61 1.62 -void MacroAssembler::movsd(XMMRegister dst, AddressLiteral src) { 1.63 - movsd(dst, as_Address(src)); 1.64 -} 1.65 - 1.66 void MacroAssembler::pop_callee_saved_registers() { 1.67 pop(rcx); 1.68 pop(rdx);