diff --git a/src/backend/core/RDP.cpp b/src/backend/core/RDP.cpp index afbcaabf..16182ffd 100644 --- a/src/backend/core/RDP.cpp +++ b/src/backend/core/RDP.cpp @@ -20,35 +20,35 @@ void RDP::Reset() { } template <> -void RDP::WriteRDRAM(const size_t idx, const u8 v) { +__attribute__((always_inline)) void RDP::WriteRDRAM(const size_t idx, const u8 v) { if (const size_t real = BYTE_ADDRESS(idx); real < RDRAM_SIZE) [[likely]] { rdram[real] = v; } } template <> -void RDP::WriteRDRAM(const size_t idx, const u16 v) { +__attribute__((always_inline)) void RDP::WriteRDRAM(const size_t idx, const u16 v) { if (const size_t real = HALF_ADDRESS(idx); real < RDRAM_SIZE) [[likely]] { Util::WriteAccess(rdram, real, v); } } template <> -void RDP::WriteRDRAM(const size_t idx, const u32 v) { +__attribute__((always_inline)) void RDP::WriteRDRAM(const size_t idx, const u32 v) { if (idx < RDRAM_SIZE) [[likely]] { Util::WriteAccess(rdram, idx, v); } } template <> -void RDP::WriteRDRAM(const size_t idx, const u64 v) { +__attribute__((always_inline)) void RDP::WriteRDRAM(const size_t idx, const u64 v) { if (idx < RDRAM_SIZE) [[likely]] { Util::WriteAccess(rdram, idx, v); } } template <> -u8 RDP::ReadRDRAM(const size_t idx) { +__attribute__((always_inline)) u8 RDP::ReadRDRAM(const size_t idx) { if (const size_t real = BYTE_ADDRESS(idx); real < RDRAM_SIZE) [[likely]] return rdram[real]; @@ -56,7 +56,7 @@ u8 RDP::ReadRDRAM(const size_t idx) { } template <> -u16 RDP::ReadRDRAM(const size_t idx) { +__attribute__((always_inline)) u16 RDP::ReadRDRAM(const size_t idx) { if (const size_t real = HALF_ADDRESS(idx); real < RDRAM_SIZE) [[likely]] return Util::ReadAccess(rdram, real); @@ -64,7 +64,7 @@ u16 RDP::ReadRDRAM(const size_t idx) { } template <> -u32 RDP::ReadRDRAM(const size_t idx) { +__attribute__((always_inline)) u32 RDP::ReadRDRAM(const size_t idx) { if (idx < RDRAM_SIZE) [[likely]] return Util::ReadAccess(rdram, idx); @@ -72,7 +72,7 @@ u32 RDP::ReadRDRAM(const size_t idx) { } template <> -u64 RDP::ReadRDRAM(const size_t idx) { +__attribute__((always_inline)) u64 RDP::ReadRDRAM(const size_t idx) { if (idx < RDRAM_SIZE) [[likely]] return Util::ReadAccess(rdram, idx); diff --git a/src/backend/core/RDP.hpp b/src/backend/core/RDP.hpp index 03b2873c..82239c4f 100644 --- a/src/backend/core/RDP.hpp +++ b/src/backend/core/RDP.hpp @@ -82,9 +82,9 @@ struct RDP { } template - void WriteRDRAM(size_t, T); + __attribute__((always_inline)) void WriteRDRAM(size_t, T); template - T ReadRDRAM(size_t); + __attribute__((always_inline)) T ReadRDRAM(size_t); private: friend struct Mem;