Re: [PATCH v2 16/45] target/hppa: Always make a copy in do_ibranch_priv

2024-05-13 Thread Philippe Mathieu-Daudé

On 13/5/24 09:46, Richard Henderson wrote:

This simplifies callers, which might otherwise have
to make another copy.

Signed-off-by: Richard Henderson 
---
  target/hppa/translate.c | 7 +++
  1 file changed, 3 insertions(+), 4 deletions(-)


Reviewed-by: Philippe Mathieu-Daudé 





[PATCH v2 16/45] target/hppa: Always make a copy in do_ibranch_priv

2024-05-13 Thread Richard Henderson
This simplifies callers, which might otherwise have
to make another copy.

Signed-off-by: Richard Henderson 
---
 target/hppa/translate.c | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 22935f4645..f267de14c6 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -1967,18 +1967,17 @@ static bool do_ibranch(DisasContext *ctx, TCGv_i64 
dest, TCGv_i64 dspc,
  */
 static TCGv_i64 do_ibranch_priv(DisasContext *ctx, TCGv_i64 offset)
 {
-TCGv_i64 dest;
+TCGv_i64 dest = tcg_temp_new_i64();
 switch (ctx->privilege) {
 case 0:
 /* Privilege 0 is maximum and is allowed to decrease.  */
-return offset;
+tcg_gen_mov_i64(dest, offset);
+break;
 case 3:
 /* Privilege 3 is minimum and is never allowed to increase.  */
-dest = tcg_temp_new_i64();
 tcg_gen_ori_i64(dest, offset, 3);
 break;
 default:
-dest = tcg_temp_new_i64();
 tcg_gen_andi_i64(dest, offset, -4);
 tcg_gen_ori_i64(dest, dest, ctx->privilege);
 tcg_gen_umax_i64(dest, dest, offset);
-- 
2.34.1