summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2016-03-09 02:41:07 -0500
committerGravatar Lioncash2016-03-09 03:13:01 -0500
commite3f9d09b28f662c699d14706f738c5f7881bf13c (patch)
treeacd43362203b206f0623d5af3ebc392ce0c953df /src
parentemitter: constexpr-ify helper functions (diff)
downloadyuzu-e3f9d09b28f662c699d14706f738c5f7881bf13c.tar.gz
yuzu-e3f9d09b28f662c699d14706f738c5f7881bf13c.tar.xz
yuzu-e3f9d09b28f662c699d14706f738c5f7881bf13c.zip
emitter: templatize ImmPtr
Diffstat (limited to 'src')
-rw-r--r--src/common/x64/emitter.h8
1 files changed, 6 insertions, 2 deletions
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) {
274 return OpArg(imm, (imm >= 128 || imm < -128) ? SCALE_IMM32 : SCALE_IMM8); 274 return OpArg(imm, (imm >= 128 || imm < -128) ? SCALE_IMM32 : SCALE_IMM8);
275} 275}
276 276
277template <typename T>
278OpArg ImmPtr(const T* imm)
279{
277#ifdef _ARCH_64 280#ifdef _ARCH_64
278inline OpArg ImmPtr(const void* imm) {return Imm64((u64)imm);} 281 return Imm64(reinterpret_cast<u64>(imm));
279#else 282#else
280inline OpArg ImmPtr(const void* imm) {return Imm32((u32)imm);} 283 return Imm32(reinterpret_cast<u32>(imm));
281#endif 284#endif
285}
282 286
283inline u32 PtrOffset(const void* ptr, const void* base) 287inline u32 PtrOffset(const void* ptr, const void* base)
284{ 288{