qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Hexagon (target/hexagon) implement mutability mask for GPRs


From: Richard Henderson
Subject: Re: [PATCH] Hexagon (target/hexagon) implement mutability mask for GPRs
Date: Wed, 7 Sep 2022 22:11:45 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.11.0

On 9/6/22 23:26, Taylor Simpson wrote:
diff --git a/target/hexagon/genptr.c b/target/hexagon/genptr.c index
8a334ba07b..21385f556e 100644
--- a/target/hexagon/genptr.c
+++ b/target/hexagon/genptr.c
  static inline void gen_log_reg_write(int rnum, TCGv val)  {
-    tcg_gen_mov_tl(hex_new_value[rnum], val);
+    const hexagon_mut_entry entry = gpr_mut_masks[rnum];
+    if (entry.present) {
+        gen_masked_reg_write(hex_gpr[rnum], val, hex_new_value[rnum],

You can't write to hex_gpr here.  You have to wait to make sure the packet will 
commit.  Put this result back into val and do the mov to hex_new_value 
unconditionally.

The feedback, then, is that the operands are confusingly ordered -- the output is to hex_new_value. Brian, tcg functions generally list outputs first.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]