mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-04 23:07:46 -04:00
sh2 drc, fix bug in jump patching for arm64
This commit is contained in:
parent
e2a5b098e0
commit
f338a562e9
2 changed files with 4 additions and 2 deletions
|
@ -1188,8 +1188,9 @@ static inline void emith_pool_adjust(int tcache_offs, int move_offs)
|
|||
#define emith_jump_patch_size() 4
|
||||
|
||||
#define emith_jump_at(ptr, target) do { \
|
||||
u32 *ptr_ = (u32 *)ptr; \
|
||||
u32 val_ = (u32 *)(target) - (u32 *)(ptr) - 2; \
|
||||
EOP_C_B_PTR(ptr, A_COND_AL, 0, val_ & 0xffffff); \
|
||||
EOP_C_B_PTR(ptr_, A_COND_AL, 0, val_ & 0xffffff); \
|
||||
} while (0)
|
||||
#define emith_jump_at_size() 4
|
||||
|
||||
|
|
|
@ -1106,8 +1106,9 @@ static void emith_ldst_offs(int sz, int rd, int rn, int o9, int ld, int mode)
|
|||
#define emith_jump_patch_size() 4
|
||||
|
||||
#define emith_jump_at(ptr, target) do { \
|
||||
u32 *ptr_ = (u32 *)ptr; \
|
||||
u32 disp_ = (u8 *)target - (u8 *)ptr; \
|
||||
EMIT_PTR(ptr, A64_B(disp_ & 0x0fffffff)); \
|
||||
EMIT_PTR(ptr_, A64_B(disp_ & 0x0fffffff)); \
|
||||
} while (0)
|
||||
#define emith_jump_at_size() 4
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue