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