summaryrefslogtreecommitdiffstats
path: root/src/gallium/auxiliary/rtasm/rtasm_x86sse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gallium/auxiliary/rtasm/rtasm_x86sse.c')
-rw-r--r--src/gallium/auxiliary/rtasm/rtasm_x86sse.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gallium/auxiliary/rtasm/rtasm_x86sse.c b/src/gallium/auxiliary/rtasm/rtasm_x86sse.c
index 5c25fa155da..7f8cc23d15e 100644
--- a/src/gallium/auxiliary/rtasm/rtasm_x86sse.c
+++ b/src/gallium/auxiliary/rtasm/rtasm_x86sse.c
@@ -422,11 +422,20 @@ void x86_add( struct x86_function *p,
void x86_mul( struct x86_function *p,
struct x86_reg src )
{
-// assert (src.file == file_REG32 && src.mod == mod_REG);
emit_1ub(p, 0xf7);
emit_modrm_noreg(p, 4, src );
}
+
+void x86_imul( struct x86_function *p,
+ struct x86_reg dst,
+ struct x86_reg src )
+{
+ emit_2ub(p, X86_TWOB, 0xAF);
+ emit_modrm(p, dst, src);
+}
+
+
void x86_sub( struct x86_function *p,
struct x86_reg dst,
struct x86_reg src )