summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Emont <guijemont@igalia.com>2012-12-12 12:10:31 +0100
committerGuillaume Emont <guijemont@igalia.com>2012-12-28 15:23:38 +0100
commit245fe832cc9ad126c80a7a0424975049e6c43853 (patch)
treed426450f90a946bf365b01ffd05435ca14d3fbe2
parent272e2eea0d1e584129ca97aba42cb104ea1072d5 (diff)
mips: convubw: extract bytes into 2 halfwords when shift==1
-rw-r--r--orc/orcrules-mips.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/orc/orcrules-mips.c b/orc/orcrules-mips.c
index 5a15a51..58e68b0 100644
--- a/orc/orcrules-mips.c
+++ b/orc/orcrules-mips.c
@@ -517,13 +517,11 @@ mips_rule_avgub (OrcCompiler *compiler, void *user, OrcInstruction *insn)
void
mips_rule_convubw (OrcCompiler *compiler, void *user, OrcInstruction *insn)
{
-#if 0
int src = ORC_SRC_ARG (compiler, insn, 0);
int dest = ORC_DEST_ARG (compiler, insn, 0);
- orc_mips_emit_replv_ph (compiler, ORC_MIPS_T3, 0xff);
- orc_mips_emit_and (compiler, dest, src, ORC_MIPS_T3);
-#endif
+ if (compiler->insn_shift == 1)
+ orc_mips_emit_preceu_ph_qbr (compiler, dest, src);
}
void