void sse2_packuswb( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { emit_3ub(p, 0x66, X86_TWOB, 0x67); emit_modrm( p, dst, src ); }
void sse2_rcpss( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { emit_3ub(p, 0xF3, X86_TWOB, 0x53); emit_modrm( p, dst, src ); }
void sse_pmovmskb( struct x86_function *p, struct x86_reg dest, struct x86_reg src) { emit_3ub(p, 0x66, X86_TWOB, 0xD7); emit_modrm(p, dest, src); }
void sse2_cvtps2dq( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { emit_3ub(p, 0x66, X86_TWOB, 0x5B); emit_modrm( p, dst, src ); }
void sse_rsqrtss( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { emit_3ub(p, 0xF3, X86_TWOB, 0x52); emit_modrm( p, dst, src ); }
void sse_addss( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_3ub(p, 0xF3, X86_TWOB, 0x58); emit_modrm( p, dst, src ); }
void sse2_punpcklbw( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_3ub(p, 0x66, X86_TWOB, 0x60); emit_modrm( p, dst, src ); }
void sse2_packsswb( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_3ub(p, 0x66, X86_TWOB, 0x63); emit_modrm( p, dst, src ); }
void sse2_cvttps2dq( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_3ub( p, 0xF3, X86_TWOB, 0x5B ); emit_modrm( p, dst, src ); }
/** * Perform a reduced swizzle: */ void sse2_pshufd( struct x86_function *p, struct x86_reg dest, struct x86_reg arg0, unsigned char shuf) { emit_3ub(p, 0x66, X86_TWOB, 0x70); emit_modrm(p, dest, arg0); emit_1ub(p, shuf); }
/** * Perform a reduced swizzle: */ void sse2_pshufd( struct x86_function *p, struct x86_reg dst, struct x86_reg src, unsigned char shuf) { DUMP_RRI( dst, src, shuf ); emit_3ub(p, 0x66, X86_TWOB, 0x70); emit_modrm(p, dst, src); emit_1ub(p, shuf); }