[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/17] target/mips: Fix DEXTRV_S.H DSP opcode
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 12/17] target/mips: Fix DEXTRV_S.H DSP opcode |
Date: |
Mon, 18 Oct 2021 00:52:40 +0200 |
While for the DEXTR_S.H opcode:
"The shift argument is provided in the instruction."
For the DEXTRV_S.H opcode we have:
"The five least-significant bits of register rs provide the
shift argument, interpreted as a five-bit unsigned integer;
the remaining bits in rs are ignored."
While 't1' contains the 'rs' register content (the shift value
for DEXTR_S.H), we need to load the value of 'rs' for DEXTRV_S.H.
We can directly use the v1_t TCG register which already contains
this shift value.
Fixes: b53371ed5d4 ("target-mips: Add ASE DSP accumulator instructions")
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20211013215652.1764551-1-f4bug@amsat.org>
---
target/mips/tcg/translate.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/target/mips/tcg/translate.c b/target/mips/tcg/translate.c
index 5fdeb67e82b..519b00121f6 100644
--- a/target/mips/tcg/translate.c
+++ b/target/mips/tcg/translate.c
@@ -13796,8 +13796,7 @@ static void gen_mipsdsp_accinsn(DisasContext *ctx,
uint32_t op1, uint32_t op2,
break;
case OPC_DEXTRV_S_H:
tcg_gen_movi_tl(t0, v2);
- tcg_gen_movi_tl(t1, v1);
- gen_helper_dextr_s_h(cpu_gpr[ret], t0, t1, cpu_env);
+ gen_helper_dextr_s_h(cpu_gpr[ret], t0, v1_t, cpu_env);
break;
case OPC_DEXTRV_L:
tcg_gen_movi_tl(t0, v2);
--
2.31.1
- [PULL 02/17] hw/mips/boston: Massage memory map information, (continued)
- [PULL 02/17] hw/mips/boston: Massage memory map information, Philippe Mathieu-Daudé, 2021/10/17
- [PULL 03/17] hw/mips/boston: Allow loading elf kernel and dtb, Philippe Mathieu-Daudé, 2021/10/17
- [PULL 04/17] hw/mips/boston: Add FDT generator, Philippe Mathieu-Daudé, 2021/10/17
- [PULL 05/17] target/mips: Remove unused register from MSA 2R/2RF instruction format, Philippe Mathieu-Daudé, 2021/10/17
- [PULL 06/17] target/mips: Use tcg_constant_i32() in gen_msa_elm_df(), Philippe Mathieu-Daudé, 2021/10/17
- [PULL 07/17] target/mips: Use tcg_constant_i32() in gen_msa_2rf(), Philippe Mathieu-Daudé, 2021/10/17
- [PULL 09/17] target/mips: Use tcg_constant_i32() in gen_msa_3rf(), Philippe Mathieu-Daudé, 2021/10/17
- [PULL 10/17] target/mips: Use explicit extract32() calls in gen_msa_i5(), Philippe Mathieu-Daudé, 2021/10/17
- [PULL 08/17] target/mips: Use tcg_constant_i32() in gen_msa_2r(), Philippe Mathieu-Daudé, 2021/10/17
- [PULL 11/17] target/mips: Use tcg_constant_tl() in gen_compute_compact_branch(), Philippe Mathieu-Daudé, 2021/10/17
- [PULL 12/17] target/mips: Fix DEXTRV_S.H DSP opcode,
Philippe Mathieu-Daudé <=
- [PULL 13/17] target/mips: Remove unused TCG temporary in gen_mipsdsp_accinsn(), Philippe Mathieu-Daudé, 2021/10/17
- [PULL 14/17] via-ide: Set user_creatable to false, Philippe Mathieu-Daudé, 2021/10/17
- [PULL 15/17] vt82c686: Move common code to via_isa_realize, Philippe Mathieu-Daudé, 2021/10/17
- [PULL 16/17] vt82c686: Add a method to VIA_ISA to raise ISA interrupts, Philippe Mathieu-Daudé, 2021/10/17
- [PULL 17/17] via-ide: Avoid using isa_get_irq(), Philippe Mathieu-Daudé, 2021/10/17
- Re: [PULL 00/17] MIPS patches for 2021-10-18, Richard Henderson, 2021/10/18