sse: fix accl for loop_shift==0
authorDavid Schleef <ds@schleef.org>
Thu, 25 Jun 2009 01:20:20 +0000 (18:20 -0700)
committerDavid Schleef <ds@schleef.org>
Thu, 25 Jun 2009 01:20:20 +0000 (18:20 -0700)
orc/orcrules-sse.c

index 920565d..15ffe4b 100644 (file)
@@ -201,6 +201,9 @@ sse_rule_accl (OrcCompiler *p, void *user, OrcInstruction *insn)
   int src = p->vars[insn->src_args[0]].alloc;
   int dest = p->vars[insn->dest_args[0]].alloc;
 
+  if (p->loop_shift == 0) {
+    orc_sse_emit_shiftimm (p, "pslldq", 0x73, 7, 12, src);
+  }
   orc_sse_emit_660f (p, "paddd", 0xfe, src, dest);
 }