neon: test
authorDavid Schleef <ds@schleef.org>
Fri, 26 Jun 2009 18:31:24 +0000 (11:31 -0700)
committerDavid Schleef <ds@schleef.org>
Fri, 26 Jun 2009 18:31:24 +0000 (11:31 -0700)
orc/orcrules-neon.c

index 6062285..cd41e26 100644 (file)
@@ -1145,6 +1145,17 @@ orc_neon_rule_accw (OrcCompiler *p, void *user, OrcInstruction *insn)
 static void
 orc_neon_rule_accl (OrcCompiler *p, void *user, OrcInstruction *insn)
 {
+  unsigned int code;
+
+  if (p->loop_shift < 1) {
+    ORC_ASM_CODE(p,"  vshl.i64 %s, %s, #%d\n",
+        orc_neon_reg_name (p->tmpreg),
+        orc_neon_reg_name (p->vars[insn->src_args[0]].alloc), 32);
+    code = NEON_BINARY(0xf2a00590, p->tmpreg, 0,
+        p->vars[insn->src_args[0]].alloc);
+    code |= (32) << 16;
+    orc_arm_emit (p, code);
+  }
   orc_neon_emit_binary (p, "vadd.i32", 0xf2200800,
       p->vars[insn->dest_args[0]].alloc,
       p->vars[insn->dest_args[0]].alloc,