void sse2_movd( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { emit_2ub(p, 0x66, X86_TWOB); emit_op_modrm( p, 0x6e, 0x7e, dst, src ); }
void sse_movups( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { emit_1ub(p, X86_TWOB); emit_op_modrm( p, 0x10, 0x11, dst, src ); }
void x86_and( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_op_modrm( p, 0x23, 0x21, dst, src ); }
void x86_or( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_op_modrm( p, 0x0b, 0x09, dst, src ); }
void x86_sub( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_op_modrm(p, 0x2b, 0x29, dst, src ); }
void x86_cmp( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_op_modrm( p, 0x3b, 0x39, dst, src ); }
void x86_xor( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_op_modrm( p, 0x33, 0x31, dst, src ); }
void sse_movlps( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { assert(dst.mod != mod_REG || src.mod != mod_REG); emit_1ub(p, X86_TWOB); emit_op_modrm( p, 0x12, 0x13, dst, src ); /* cf movhlps */ }
void mmx_movq( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { p->need_emms = 1; emit_1ub(p, X86_TWOB); emit_op_modrm( p, 0x6f, 0x7f, dst, src ); }
void sse_movaps( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_1ub(p, X86_TWOB); emit_op_modrm( p, 0x28, 0x29, dst, src ); }
void sse_movss( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); emit_2ub(p, 0xF3, X86_TWOB); emit_op_modrm( p, 0x10, 0x11, dst, src ); }
void sse_movhps( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); assert(dst.mod != mod_REG || src.mod != mod_REG); emit_1ub(p, X86_TWOB); emit_op_modrm( p, 0x16, 0x17, dst, src ); /* cf movlhps */ }
void mmx_movd( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { DUMP_RR( dst, src ); p->need_emms = 1; emit_1ub(p, X86_TWOB); emit_op_modrm( p, 0x6e, 0x7e, dst, src ); }
void x86_mul( struct x86_function *p, struct x86_reg src ) { assert (src.file == file_REG32 && src.mod == mod_REG); emit_op_modrm(p, 0xf7, 0, x86_make_reg (file_REG32, reg_SP), src ); }
void x86_add( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { emit_op_modrm(p, 0x03, 0x01, dst, src ); }
void x86_mov( struct x86_function *p, struct x86_reg dst, struct x86_reg src ) { emit_op_modrm( p, 0x8b, 0x89, dst, src ); }