diff options
| author | ptitSeb <sebastien.chev@gmail.com> | 2023-07-16 11:28:37 +0200 |
|---|---|---|
| committer | ptitSeb <sebastien.chev@gmail.com> | 2023-07-16 11:28:37 +0200 |
| commit | 7817d629f12de3c9ce05d57f448f4edbb645feab (patch) | |
| tree | 3bc2656c5092a72dc080ec8444a0e70bd01f3c83 /src | |
| parent | 7607a87617a827f5cfe019a2c561e4d88bae0a61 (diff) | |
| download | box64-7817d629f12de3c9ce05d57f448f4edbb645feab.tar.gz box64-7817d629f12de3c9ce05d57f448f4edbb645feab.zip | |
[ARM64_DYNAREC] Fixed an issue with GB high extraction/re-insertion (for #867 and probably wany other)
Diffstat (limited to 'src')
| -rwxr-xr-x | src/dynarec/arm64/dynarec_arm64_helper.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/dynarec/arm64/dynarec_arm64_helper.h b/src/dynarec/arm64/dynarec_arm64_helper.h index 9c3594ac..bcb9c8b3 100755 --- a/src/dynarec/arm64/dynarec_arm64_helper.h +++ b/src/dynarec/arm64/dynarec_arm64_helper.h @@ -360,18 +360,18 @@ gb2 = 0; \ } else { \ gd = (nextop&0x38)>>3; \ - gb2 = ((gd&4)>>2); \ + gb2 = ((gd&4)<<1); \ gb1 = xRAX+(gd&3); \ } \ gd = i; \ - UBFXx(gd, gb1, gb2*8, 8); + UBFXx(gd, gb1, gb2, 8); //GETSGB signe extend GB, will use i for gd #define GETSGB(i) if(rex.rex) { \ gb1 = xRAX+((nextop&0x38)>>3)+(rex.r<<3); \ gb2 = 0; \ } else { \ gd = (nextop&0x38)>>3; \ - gb2 = ((gd&4)>>2); \ + gb2 = ((gd&4)<<1); \ gb1 = xRAX+(gd&3); \ } \ gd = i; \ |