[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/6] target/cris: Use hswap_i32() in SWAPW opcode
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH 2/6] target/cris: Use hswap_i32() in SWAPW opcode |
Date: |
Tue, 22 Aug 2023 13:01:25 +0200 |
Commit 46be8425ff ("tcg: Implement tcg_gen_{h,w}swap_{i32,i64}")
introduced the generic hswap_i32(). Use it instead of open-coding
it as t_gen_swapw().
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/cris/translate.c | 14 +-------------
target/cris/translate_v10.c.inc | 2 +-
2 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/target/cris/translate.c b/target/cris/translate.c
index 42103b5558..925ed2c6f6 100644
--- a/target/cris/translate.c
+++ b/target/cris/translate.c
@@ -399,18 +399,6 @@ static inline void t_gen_swapb(TCGv d, TCGv s)
tcg_gen_or_tl(d, d, t);
}
-/* Swap the halfwords of the s operand. */
-static inline void t_gen_swapw(TCGv d, TCGv s)
-{
- TCGv t;
- /* d and s refer the same object. */
- t = tcg_temp_new();
- tcg_gen_mov_tl(t, s);
- tcg_gen_shli_tl(d, t, 16);
- tcg_gen_shri_tl(t, t, 16);
- tcg_gen_or_tl(d, d, t);
-}
-
/*
* Reverse the bits within each byte.
*
@@ -1675,7 +1663,7 @@ static int dec_swap_r(CPUCRISState *env, DisasContext *dc)
tcg_gen_not_tl(t0, t0);
}
if (dc->op2 & 4) {
- t_gen_swapw(t0, t0);
+ tcg_gen_hswap_i32(t0, t0);
}
if (dc->op2 & 2) {
t_gen_swapb(t0, t0);
diff --git a/target/cris/translate_v10.c.inc b/target/cris/translate_v10.c.inc
index b7b0517982..0ff15769ec 100644
--- a/target/cris/translate_v10.c.inc
+++ b/target/cris/translate_v10.c.inc
@@ -506,7 +506,7 @@ static void dec10_reg_swap(DisasContext *dc)
if (dc->dst & 8)
tcg_gen_not_tl(t0, t0);
if (dc->dst & 4)
- t_gen_swapw(t0, t0);
+ tcg_gen_hswap_i32(t0, t0);
if (dc->dst & 2)
t_gen_swapb(t0, t0);
if (dc->dst & 1)
--
2.41.0
[PATCH 5/6] target/mips: Use hswap_i64() in DSHD opcode, Philippe Mathieu-Daudé, 2023/08/22
[PATCH 3/6] target/microblaze: Use hswap_i32() in SWAPH opcode, Philippe Mathieu-Daudé, 2023/08/22
[PATCH 6/6] target/loongarch: Use hswap_i64() in REVH.D opcode, Philippe Mathieu-Daudé, 2023/08/22