src/cpu/x86/vm/assembler_x86_64.cpp

changeset 506
3d62cb85208d
parent 435
a61af66fc99e
child 511
d6fe2e4959d6
equal deleted inserted replaced
505:b683f557224b 506:3d62cb85208d
3370 emit_byte(0x0F); 3370 emit_byte(0x0F);
3371 emit_byte(0x5A); 3371 emit_byte(0x5A);
3372 emit_byte(0xC0 | encode); 3372 emit_byte(0xC0 | encode);
3373 } 3373 }
3374 3374
3375 void Assembler::cvtdq2pd(XMMRegister dst, XMMRegister src) {
3376 emit_byte(0xF3);
3377 int encode = prefix_and_encode(dst->encoding(), src->encoding());
3378 emit_byte(0x0F);
3379 emit_byte(0xE6);
3380 emit_byte(0xC0 | encode);
3381 }
3382
3383 void Assembler::cvtdq2ps(XMMRegister dst, XMMRegister src) {
3384 int encode = prefix_and_encode(dst->encoding(), src->encoding());
3385 emit_byte(0x0F);
3386 emit_byte(0x5B);
3387 emit_byte(0xC0 | encode);
3388 }
3389
3375 void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) { 3390 void Assembler::cvtsd2ss(XMMRegister dst, XMMRegister src) {
3376 emit_byte(0xF2); 3391 emit_byte(0xF2);
3377 int encode = prefix_and_encode(dst->encoding(), src->encoding()); 3392 int encode = prefix_and_encode(dst->encoding(), src->encoding());
3378 emit_byte(0x0F); 3393 emit_byte(0x0F);
3379 emit_byte(0x5A); 3394 emit_byte(0x5A);

mercurial