diff -r b683f557224b -r 3d62cb85208d src/cpu/x86/vm/assembler_x86_64.cpp --- a/src/cpu/x86/vm/assembler_x86_64.cpp Wed Mar 19 15:14:36 2008 -0700 +++ b/src/cpu/x86/vm/assembler_x86_64.cpp Wed Mar 19 15:33:25 2008 -0700 @@ -3372,6 +3372,21 @@ emit_byte(0xC0 | encode); } +void Assembler::cvtdq2pd(XMMRegister dst, XMMRegister src) { + emit_byte(0xF3); + int encode = prefix_and_encode(dst->encoding(), src->encoding()); + emit_byte(0x0F); + emit_byte(0xE6); + emit_byte(0xC0 | encode); +} + +void Assembler::cvtdq2ps(XMMRegister dst, XMMRegister src) { + int encode = prefix_and_encode(dst->encoding(), src->encoding()); + emit_byte(0x0F); + emit_byte(0x5B); + emit_byte(0xC0 | encode); +} + void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) { emit_byte(0xF2); int encode = prefix_and_encode(dst->encoding(), src->encoding());