diff --git a/src/common/x64/emitter.h b/src/common/x64/emitter.h
index 865b724a8..7c6548fb5 100644
--- a/src/common/x64/emitter.h
+++ b/src/common/x64/emitter.h
@@ -274,11 +274,15 @@ constexpr OpArg SImmAuto(s32 imm) {
     return OpArg(imm, (imm >= 128 || imm < -128) ? SCALE_IMM32 : SCALE_IMM8);
 }
 
+template <typename T>
+OpArg ImmPtr(const T* imm)
+{
 #ifdef _ARCH_64
-inline OpArg ImmPtr(const void* imm) {return Imm64((u64)imm);}
+    return Imm64(reinterpret_cast<u64>(imm));
 #else
-inline OpArg ImmPtr(const void* imm) {return Imm32((u32)imm);}
+    return Imm32(reinterpret_cast<u32>(imm));
 #endif
+}
 
 inline u32 PtrOffset(const void* ptr, const void* base)
 {