From 6e418c2138d53fe1c164ef7a5d7d8b036f10981f Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Thu, 18 Sep 2014 14:19:06 +0200 Subject: [PATCH] program-c: handle X2 and X4 with size < 2 variables when the variable has a size < 2 it will have been declared as a simple int8 or int16, when we use this in a X2 or X4 instruction, use the variable directly instead of trying to use the x fields. --- orc/orcprogram-c.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/orc/orcprogram-c.c b/orc/orcprogram-c.c index 02b5aa8..bff075a 100644 --- a/orc/orcprogram-c.c +++ b/orc/orcprogram-c.c @@ -503,16 +503,16 @@ c_get_name_int (char *name, OrcCompiler *p, OrcInstruction *insn, int var) } } } else { - if (insn && (insn->flags & ORC_INSTRUCTION_FLAG_X2)) { - sprintf(name, "var%d.x2[%d]", var, p->unroll_index); - } else if (insn && (insn->flags & ORC_INSTRUCTION_FLAG_X4)) { - sprintf(name, "var%d.x4[%d]", var, p->unroll_index); - } else { - if (p->vars[var].size >= 2) { - sprintf(name, "var%d.i", var); + if (p->vars[var].size >= 2) { + if (insn && (insn->flags & ORC_INSTRUCTION_FLAG_X2)) { + sprintf(name, "var%d.x2[%d]", var, p->unroll_index); + } else if (insn && (insn->flags & ORC_INSTRUCTION_FLAG_X4)) { + sprintf(name, "var%d.x4[%d]", var, p->unroll_index); } else { - sprintf(name, "var%d", var); + sprintf(name, "var%d.i", var); } + } else { + sprintf(name, "var%d", var); } } } -- 2.7.4