diff options
| author | JosJuice <josjuice@gmail.com> | 2021-01-13 11:04:13 +0100 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2021-02-13 11:33:27 +0100 |
| commit | 4e107935ace514e55adacd2543b8fedacaaea6cd (patch) | |
| tree | 94c9acdefb4bc9c933ad0cfaaebe1b911f3c8634 /Source/Core | |
| parent | d226b8f8256a82437446d601e0e77d57d94289fe (diff) | |
Arm64Emitter: Allow specifying 21th bit of ADRP imm
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Common/Arm64Emitter.cpp | 4 | ||||
| -rw-r--r-- | Source/Core/Common/Arm64Emitter.h | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/Source/Core/Common/Arm64Emitter.cpp b/Source/Core/Common/Arm64Emitter.cpp index 29cd71a132..5aae03ef08 100644 --- a/Source/Core/Common/Arm64Emitter.cpp +++ b/Source/Core/Common/Arm64Emitter.cpp @@ -1998,9 +1998,9 @@ void ARM64XEmitter::ADR(ARM64Reg Rd, s32 imm) { EncodeAddressInst(0, Rd, imm); } -void ARM64XEmitter::ADRP(ARM64Reg Rd, s32 imm) +void ARM64XEmitter::ADRP(ARM64Reg Rd, s64 imm) { - EncodeAddressInst(1, Rd, imm >> 12); + EncodeAddressInst(1, Rd, static_cast<s32>(imm >> 12)); } // Wrapper around MOVZ+MOVK (and later MOVN) diff --git a/Source/Core/Common/Arm64Emitter.h b/Source/Core/Common/Arm64Emitter.h index 18d4c29c7f..7d96fb836b 100644 --- a/Source/Core/Common/Arm64Emitter.h +++ b/Source/Core/Common/Arm64Emitter.h @@ -862,7 +862,7 @@ public: // Address of label/page PC-relative void ADR(ARM64Reg Rd, s32 imm); - void ADRP(ARM64Reg Rd, s32 imm); + void ADRP(ARM64Reg Rd, s64 imm); // Wrapper around MOVZ+MOVK void MOVI2R(ARM64Reg Rd, u64 imm); |
