From de0b09d989c50119202dac2b3e90a949c9613c70 Mon Sep 17 00:00:00 2001 From: David Schleef Date: Tue, 31 Mar 2009 22:24:21 -0700 Subject: [PATCH] fix convlw --- orc/orcrules-sse.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/orc/orcrules-sse.c b/orc/orcrules-sse.c index 5b830df..246615f 100644 --- a/orc/orcrules-sse.c +++ b/orc/orcrules-sse.c @@ -576,15 +576,15 @@ sse_rule_convlw (OrcCompiler *p, void *user, OrcInstruction *insn) x86_emit_modrm_reg (p, p->vars[insn->dest_args[0]].alloc, 6); *p->codeptr++ = 16; - ORC_ASM_CODE(p," psrld $16, %%%s\n", + ORC_ASM_CODE(p," psrad $16, %%%s\n", x86_get_regname_sse(p->vars[insn->dest_args[0]].alloc)); *p->codeptr++ = 0x66; *p->codeptr++ = 0x0f; *p->codeptr++ = 0x72; - x86_emit_modrm_reg (p, p->vars[insn->dest_args[0]].alloc, 2); + x86_emit_modrm_reg (p, p->vars[insn->dest_args[0]].alloc, 4); *p->codeptr++ = 16; - sse_emit_660f38 (p, "packusdw", 0x2b, dest, dest); + sse_emit_660f (p, "packssdw", 0x6b, dest, dest); } static void -- 2.7.4