diff options
author | Philippe Mathieu-Daudé | 2021-02-13 11:57:56 +0100 |
---|---|---|
committer | Philippe Mathieu-Daudé | 2021-03-13 23:43:20 +0100 |
commit | 5a976c002518d46a030f125e2170d78204528497 (patch) | |
tree | 8c08d2f9658cca86be1b661815531394a878c72c /target/mips/translate.c | |
parent | target/mips/translate: Simplify PCPYH using deposit_i64() (diff) | |
download | qemu-5a976c002518d46a030f125e2170d78204528497.tar.gz qemu-5a976c002518d46a030f125e2170d78204528497.tar.xz qemu-5a976c002518d46a030f125e2170d78204528497.zip |
target/mips/tx79: Move PCPYH opcode to decodetree
Move the existing PCPYH opcode (Parallel Copy Halfword) to decodetree.
Remove unnecessary code / comments.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20210214175912.732946-12-f4bug@amsat.org>
Diffstat (limited to 'target/mips/translate.c')
-rw-r--r-- | target/mips/translate.c | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/target/mips/translate.c b/target/mips/translate.c index 1967c12d80..80fcab5a56 100644 --- a/target/mips/translate.c +++ b/target/mips/translate.c @@ -24063,42 +24063,6 @@ static void decode_opc_special(CPUMIPSState *env, DisasContext *ctx) */ /* - * PCPYH rd, rt - * - * Parallel Copy Halfword - * - * 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 - * +-----------+---------+---------+---------+---------+-----------+ - * | MMI |0 0 0 0 0| rt | rd | PCPYH | MMI3 | - * +-----------+---------+---------+---------+---------+-----------+ - */ -static void gen_mmi_pcpyh(DisasContext *ctx) -{ - uint32_t pd, rt, rd; - uint32_t opcode; - - opcode = ctx->opcode; - - pd = extract32(opcode, 21, 5); - rt = extract32(opcode, 16, 5); - rd = extract32(opcode, 11, 5); - - if (unlikely(pd != 0)) { - gen_reserved_instruction(ctx); - } else if (rd == 0) { - /* nop */ - } else if (rt == 0) { - tcg_gen_movi_i64(cpu_gpr[rd], 0); - tcg_gen_movi_i64(cpu_gpr_hi[rd], 0); - } else { - tcg_gen_deposit_i64(cpu_gpr[rd], cpu_gpr[rt], cpu_gpr[rt], 16, 16); - tcg_gen_deposit_i64(cpu_gpr[rd], cpu_gpr[rd], cpu_gpr[rd], 32, 32); - tcg_gen_deposit_i64(cpu_gpr_hi[rd], cpu_gpr_hi[rt], cpu_gpr_hi[rt], 16, 16); - tcg_gen_deposit_i64(cpu_gpr_hi[rd], cpu_gpr_hi[rd], cpu_gpr_hi[rd], 32, 32); - } -} - -/* * PCPYLD rd, rs, rt * * Parallel Copy Lower Doubleword @@ -25016,9 +24980,6 @@ static void decode_mmi3(CPUMIPSState *env, DisasContext *ctx) case MMI_OPC_3_PEXCW: /* TODO: MMI_OPC_3_PEXCW */ gen_reserved_instruction(ctx); /* TODO: MMI_OPC_CLASS_MMI3 */ break; - case MMI_OPC_3_PCPYH: - gen_mmi_pcpyh(ctx); - break; case MMI_OPC_3_PCPYUD: gen_mmi_pcpyud(ctx); break; |