drc: fix wrong masking in set_jump_target
authornotaz <notasas@gmail.com>
Wed, 10 Aug 2022 19:32:11 +0000 (22:32 +0300)
committernotaz <notasas@gmail.com>
Wed, 10 Aug 2022 19:32:11 +0000 (22:32 +0300)
libpcsxcore/new_dynarec/assem_arm64.c

index 6f108bf..b7d82c1 100644 (file)
@@ -45,7 +45,7 @@ static void set_jump_target(void *addr, void *target)
     // should only happen when jumping to an already compiled block (see add_jump_out)
     // a workaround would be to do a trampoline jump via a stub at the end of the block
     assert(-1048576 <= offset && offset < 1048576);
-    *ptr=(*ptr&0xFF00000F)|(((offset>>2)&0x7ffff)<<5);
+    *ptr=(*ptr&0xFF00001F)|(((offset>>2)&0x7ffff)<<5);
   }
   else if((*ptr&0x9f000000)==0x10000000) { // adr
     // generated by do_miniht_insert