}
static void
+sse_rule_mergelq (OrcCompiler *p, void *user, OrcInstruction *insn)
+{
+ int src = p->vars[insn->src_args[1]].alloc;
+ int dest = p->vars[insn->dest_args[0]].alloc;
+
+ orc_sse_emit_punpckldq (p, src, dest);
+}
+
+static void
sse_rule_swapw (OrcCompiler *p, void *user, OrcInstruction *insn)
{
int src = p->vars[insn->src_args[0]].alloc;
REG(select1wb);
REG(mergebw);
REG(mergewl);
+ REG(mergelq);
orc_rule_register (rule_set, "copyb", sse_rule_copyx, NULL);
orc_rule_register (rule_set, "copyw", sse_rule_copyx, NULL);