On 2/5/26 8:21 PM, Pierrick Bouvier wrote:
target_long is used to represent a pc diff. Checked all call sites to
make sure we were already passing signed values, so extending works as
expected.

Reviewed-by: Richard Henderson <[email protected]>
Reviewed-by: Philippe Mathieu-Daudé <[email protected]>
Signed-off-by: Pierrick Bouvier <[email protected]>
---
  target/arm/tcg/translate-a32.h |  2 +-
  target/arm/tcg/translate.h     | 12 ++++++------
  target/arm/tcg/translate.c     | 18 +++++++++---------
  3 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/target/arm/tcg/translate-a32.h b/target/arm/tcg/translate-a32.h
index 0b1fa57965c..a8df364171b 100644
--- a/target/arm/tcg/translate-a32.h
+++ b/target/arm/tcg/translate-a32.h
@@ -40,7 +40,7 @@ void write_neon_element64(TCGv_i64 src, int reg, int ele, 
MemOp memop);
  TCGv_i32 add_reg_for_lit(DisasContext *s, int reg, int ofs);
  void gen_set_cpsr(TCGv_i32 var, uint32_t mask);
  void gen_set_condexec(DisasContext *s);
-void gen_update_pc(DisasContext *s, target_long diff);
+void gen_update_pc(DisasContext *s, int64_t diff);
  void gen_lookup_tb(DisasContext *s);
  long vfp_reg_offset(bool dp, unsigned reg);
  long neon_full_reg_offset(unsigned reg);
diff --git a/target/arm/tcg/translate.h b/target/arm/tcg/translate.h
index 2c8358dd7fa..1f455e4c434 100644
--- a/target/arm/tcg/translate.h
+++ b/target/arm/tcg/translate.h
@@ -27,8 +27,8 @@ typedef struct DisasLabel {
  typedef struct DisasDelayException {
      struct DisasDelayException *next;
      TCGLabel *lab;
-    target_long pc_curr;
-    target_long pc_save;
+    int64_t pc_curr;
+    int64_t pc_save;

An amend mistake changed my branch, so this commit was not updated correctly when sending the series. It has vaddr has requested on v1.

I'll update for v3.

Regards,
Pierrick

Reply via email to