[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 15/15] tcg/riscv: Conditionalize tcg_out_exts_i32_i64
From: |
Richard Henderson |
Subject: |
[PULL 15/15] tcg/riscv: Conditionalize tcg_out_exts_i32_i64 |
Date: |
Sun, 23 Apr 2023 11:19:50 +0100 |
Since TCG_TYPE_I32 values are kept sign-extended in registers, via "w"
instructions, we don't need to extend if the register matches.
This is already relied upon by comparisons.
Reviewed-by: Daniel Henrique Barboza <dbarboza@ventanamicro.com>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
tcg/riscv/tcg-target.c.inc | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/tcg/riscv/tcg-target.c.inc b/tcg/riscv/tcg-target.c.inc
index 328cbc0ad6..266fe1433d 100644
--- a/tcg/riscv/tcg-target.c.inc
+++ b/tcg/riscv/tcg-target.c.inc
@@ -609,7 +609,9 @@ static void tcg_out_ext32s(TCGContext *s, TCGReg ret,
TCGReg arg)
static void tcg_out_exts_i32_i64(TCGContext *s, TCGReg ret, TCGReg arg)
{
- tcg_out_ext32s(s, ret, arg);
+ if (ret != arg) {
+ tcg_out_ext32s(s, ret, arg);
+ }
}
static void tcg_out_extu_i32_i64(TCGContext *s, TCGReg ret, TCGReg arg)
--
2.34.1
- [PULL 00/15] tcg patch queue, Richard Henderson, 2023/04/23
- [PULL 04/15] tcg: Split out tcg_out_ext8u, Richard Henderson, 2023/04/23
- [PULL 06/15] tcg: Split out tcg_out_ext16u, Richard Henderson, 2023/04/23
- [PULL 01/15] tcg: Replace if + tcg_abort with tcg_debug_assert, Richard Henderson, 2023/04/23
- [PULL 02/15] tcg: Replace tcg_abort with g_assert_not_reached, Richard Henderson, 2023/04/23
- [PULL 14/15] tcg: Clear TCGLabelQemuLdst on allocation, Richard Henderson, 2023/04/23
- [PULL 11/15] tcg: Split out tcg_out_extrl_i64_i32, Richard Henderson, 2023/04/23
- [PULL 07/15] tcg: Split out tcg_out_ext32s, Richard Henderson, 2023/04/23
- [PULL 13/15] tcg: Introduce tcg_out_xchg, Richard Henderson, 2023/04/23
- [PULL 15/15] tcg/riscv: Conditionalize tcg_out_exts_i32_i64,
Richard Henderson <=
- [PULL 10/15] tcg: Split out tcg_out_extu_i32_i64, Richard Henderson, 2023/04/23
- [PULL 05/15] tcg: Split out tcg_out_ext16s, Richard Henderson, 2023/04/23
- [PULL 03/15] tcg: Split out tcg_out_ext8s, Richard Henderson, 2023/04/23
- [PULL 12/15] tcg: Introduce tcg_out_movext, Richard Henderson, 2023/04/23
- [PULL 08/15] tcg: Split out tcg_out_ext32u, Richard Henderson, 2023/04/23
- [PULL 09/15] tcg: Split out tcg_out_exts_i32_i64, Richard Henderson, 2023/04/23
- Re: [PULL 00/15] tcg patch queue, Richard Henderson, 2023/04/23