Fix warnings
This commit is contained in:
@@ -16,35 +16,35 @@ void RDP::Reset() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void RDP::WriteRDRAM<u8>(const size_t idx, const u8 v) {
|
void RDP::WriteRDRAM<u8>(const size_t idx, const u8 v) {
|
||||||
if (const size_t real = BYTE_ADDRESS(idx); real < RDRAM_SIZE) [[likely]] {
|
if (const size_t real = BYTE_ADDRESS(idx); real < RDRAM_SIZE) [[likely]] {
|
||||||
rdram[real] = v;
|
rdram[real] = v;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void RDP::WriteRDRAM<u16>(const size_t idx, const u16 v) {
|
void RDP::WriteRDRAM<u16>(const size_t idx, const u16 v) {
|
||||||
if (const size_t real = HALF_ADDRESS(idx); real < RDRAM_SIZE) [[likely]] {
|
if (const size_t real = HALF_ADDRESS(idx); real < RDRAM_SIZE) [[likely]] {
|
||||||
Util::WriteAccess<u16>(rdram, real, v);
|
Util::WriteAccess<u16>(rdram, real, v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void RDP::WriteRDRAM<u32>(const size_t idx, const u32 v) {
|
void RDP::WriteRDRAM<u32>(const size_t idx, const u32 v) {
|
||||||
if (idx < RDRAM_SIZE) [[likely]] {
|
if (idx < RDRAM_SIZE) [[likely]] {
|
||||||
Util::WriteAccess<u32>(rdram, idx, v);
|
Util::WriteAccess<u32>(rdram, idx, v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void RDP::WriteRDRAM<u64>(const size_t idx, const u64 v) {
|
void RDP::WriteRDRAM<u64>(const size_t idx, const u64 v) {
|
||||||
if (idx < RDRAM_SIZE) [[likely]] {
|
if (idx < RDRAM_SIZE) [[likely]] {
|
||||||
Util::WriteAccess<u64>(rdram, idx, v);
|
Util::WriteAccess<u64>(rdram, idx, v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) u8 RDP::ReadRDRAM<u8>(const size_t idx) {
|
u8 RDP::ReadRDRAM<u8>(const size_t idx) {
|
||||||
if (const size_t real = BYTE_ADDRESS(idx); real < RDRAM_SIZE) [[likely]]
|
if (const size_t real = BYTE_ADDRESS(idx); real < RDRAM_SIZE) [[likely]]
|
||||||
return rdram[real];
|
return rdram[real];
|
||||||
|
|
||||||
@@ -52,7 +52,7 @@ __attribute__((always_inline)) u8 RDP::ReadRDRAM<u8>(const size_t idx) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) u16 RDP::ReadRDRAM<u16>(const size_t idx) {
|
u16 RDP::ReadRDRAM<u16>(const size_t idx) {
|
||||||
if (const size_t real = HALF_ADDRESS(idx); real < RDRAM_SIZE) [[likely]]
|
if (const size_t real = HALF_ADDRESS(idx); real < RDRAM_SIZE) [[likely]]
|
||||||
return Util::ReadAccess<u16>(rdram, real);
|
return Util::ReadAccess<u16>(rdram, real);
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ __attribute__((always_inline)) u16 RDP::ReadRDRAM<u16>(const size_t idx) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) u32 RDP::ReadRDRAM<u32>(const size_t idx) {
|
u32 RDP::ReadRDRAM<u32>(const size_t idx) {
|
||||||
if (idx < RDRAM_SIZE) [[likely]]
|
if (idx < RDRAM_SIZE) [[likely]]
|
||||||
return Util::ReadAccess<u32>(rdram, idx);
|
return Util::ReadAccess<u32>(rdram, idx);
|
||||||
|
|
||||||
@@ -68,7 +68,7 @@ __attribute__((always_inline)) u32 RDP::ReadRDRAM<u32>(const size_t idx) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) u64 RDP::ReadRDRAM<u64>(const size_t idx) {
|
u64 RDP::ReadRDRAM<u64>(const size_t idx) {
|
||||||
if (idx < RDRAM_SIZE) [[likely]]
|
if (idx < RDRAM_SIZE) [[likely]]
|
||||||
return Util::ReadAccess<u64>(rdram, idx);
|
return Util::ReadAccess<u64>(rdram, idx);
|
||||||
|
|
||||||
|
|||||||
@@ -79,9 +79,9 @@ struct RDP {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
__attribute__((always_inline)) void WriteRDRAM(size_t, T);
|
void WriteRDRAM(size_t, T);
|
||||||
template <typename T>
|
template <typename T>
|
||||||
__attribute__((always_inline)) T ReadRDRAM(size_t);
|
T ReadRDRAM(size_t);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
friend struct Mem;
|
friend struct Mem;
|
||||||
|
|||||||
@@ -33,48 +33,48 @@ void Registers::SetPC32(s32 val) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) u64 Registers::Read<u64>(size_t idx) {
|
u64 Registers::Read<u64>(size_t idx) {
|
||||||
return gpr[idx];
|
return gpr[idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) s64 Registers::Read<s64>(const size_t idx) {
|
s64 Registers::Read<s64>(const size_t idx) {
|
||||||
return static_cast<s64>(Read<u64>(idx));
|
return static_cast<s64>(Read<u64>(idx));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) u32 Registers::Read<u32>(size_t idx) {
|
u32 Registers::Read<u32>(size_t idx) {
|
||||||
return gpr[idx];
|
return gpr[idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) s32 Registers::Read<s32>(size_t idx) {
|
s32 Registers::Read<s32>(size_t idx) {
|
||||||
return static_cast<s32>(Read<u32>(idx));
|
return static_cast<s32>(Read<u32>(idx));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) u16 Registers::Read<u16>(size_t idx) {
|
u16 Registers::Read<u16>(size_t idx) {
|
||||||
return gpr[idx];
|
return gpr[idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) s16 Registers::Read<s16>(size_t idx) {
|
s16 Registers::Read<s16>(size_t idx) {
|
||||||
return static_cast<s16>(Read<u16>(idx));
|
return static_cast<s16>(Read<u16>(idx));
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) u8 Registers::Read<u8>(size_t idx) {
|
u8 Registers::Read<u8>(size_t idx) {
|
||||||
return gpr[idx];
|
return gpr[idx];
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) s8 Registers::Read<s8>(size_t idx) {
|
s8 Registers::Read<s8>(size_t idx) {
|
||||||
return static_cast<s8>(Read<u8>(idx));
|
return static_cast<s8>(Read<u8>(idx));
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef __aarch64__
|
#ifndef __aarch64__
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Read<u64>(size_t idx, Xbyak::Reg reg) {
|
void Registers::Read<u64>(size_t idx, Xbyak::Reg reg) {
|
||||||
if(IsRegConstant(idx)) {
|
if(IsRegConstant(idx)) {
|
||||||
jit->code.mov(reg.cvt64(), Read<u64>(idx));
|
jit->code.mov(reg.cvt64(), Read<u64>(idx));
|
||||||
return;
|
return;
|
||||||
@@ -84,7 +84,7 @@ __attribute__((always_inline)) void Registers::Read<u64>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Read<s64>(size_t idx, Xbyak::Reg reg) {
|
void Registers::Read<s64>(size_t idx, Xbyak::Reg reg) {
|
||||||
if(IsRegConstant(idx)) {
|
if(IsRegConstant(idx)) {
|
||||||
jit->code.mov(reg.cvt64(), Read<s64>(idx));
|
jit->code.mov(reg.cvt64(), Read<s64>(idx));
|
||||||
return;
|
return;
|
||||||
@@ -94,7 +94,7 @@ __attribute__((always_inline)) void Registers::Read<s64>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Read<u32>(size_t idx, Xbyak::Reg reg) {
|
void Registers::Read<u32>(size_t idx, Xbyak::Reg reg) {
|
||||||
if(IsRegConstant(idx)) {
|
if(IsRegConstant(idx)) {
|
||||||
jit->code.mov(reg.cvt32(), Read<u32>(idx));
|
jit->code.mov(reg.cvt32(), Read<u32>(idx));
|
||||||
return;
|
return;
|
||||||
@@ -104,7 +104,7 @@ __attribute__((always_inline)) void Registers::Read<u32>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Read<s32>(size_t idx, Xbyak::Reg reg) {
|
void Registers::Read<s32>(size_t idx, Xbyak::Reg reg) {
|
||||||
if(IsRegConstant(idx)) {
|
if(IsRegConstant(idx)) {
|
||||||
jit->code.mov(reg.cvt32(), Read<s32>(idx));
|
jit->code.mov(reg.cvt32(), Read<s32>(idx));
|
||||||
return;
|
return;
|
||||||
@@ -114,7 +114,7 @@ __attribute__((always_inline)) void Registers::Read<s32>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Read<u16>(size_t idx, Xbyak::Reg reg) {
|
void Registers::Read<u16>(size_t idx, Xbyak::Reg reg) {
|
||||||
if(IsRegConstant(idx)) {
|
if(IsRegConstant(idx)) {
|
||||||
jit->code.mov(reg.cvt16(), Read<u16>(idx));
|
jit->code.mov(reg.cvt16(), Read<u16>(idx));
|
||||||
return;
|
return;
|
||||||
@@ -124,7 +124,7 @@ __attribute__((always_inline)) void Registers::Read<u16>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Read<s16>(size_t idx, Xbyak::Reg reg) {
|
void Registers::Read<s16>(size_t idx, Xbyak::Reg reg) {
|
||||||
if(IsRegConstant(idx)) {
|
if(IsRegConstant(idx)) {
|
||||||
jit->code.mov(reg.cvt16(), Read<s16>(idx));
|
jit->code.mov(reg.cvt16(), Read<s16>(idx));
|
||||||
return;
|
return;
|
||||||
@@ -134,7 +134,7 @@ __attribute__((always_inline)) void Registers::Read<s16>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Read<u8>(size_t idx, Xbyak::Reg reg) {
|
void Registers::Read<u8>(size_t idx, Xbyak::Reg reg) {
|
||||||
if(IsRegConstant(idx)) {
|
if(IsRegConstant(idx)) {
|
||||||
jit->code.mov(reg.cvt8(), Read<u8>(idx));
|
jit->code.mov(reg.cvt8(), Read<u8>(idx));
|
||||||
return;
|
return;
|
||||||
@@ -144,7 +144,7 @@ __attribute__((always_inline)) void Registers::Read<u8>(size_t idx, Xbyak::Reg r
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Read<s8>(size_t idx, Xbyak::Reg reg) {
|
void Registers::Read<s8>(size_t idx, Xbyak::Reg reg) {
|
||||||
if(IsRegConstant(idx)) {
|
if(IsRegConstant(idx)) {
|
||||||
jit->code.mov(reg.cvt8(), Read<s8>(idx));
|
jit->code.mov(reg.cvt8(), Read<s8>(idx));
|
||||||
return;
|
return;
|
||||||
@@ -155,7 +155,7 @@ __attribute__((always_inline)) void Registers::Read<s8>(size_t idx, Xbyak::Reg r
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<bool>(size_t idx, bool v) {
|
void Registers::Write<bool>(size_t idx, bool v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -166,7 +166,7 @@ __attribute__((always_inline)) void Registers::Write<bool>(size_t idx, bool v) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<u64>(size_t idx, u64 v) {
|
void Registers::Write<u64>(size_t idx, u64 v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -176,12 +176,12 @@ __attribute__((always_inline)) void Registers::Write<u64>(size_t idx, u64 v) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<s64>(size_t idx, s64 v) {
|
void Registers::Write<s64>(size_t idx, s64 v) {
|
||||||
Write<u64>(idx, v);
|
Write<u64>(idx, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<u32>(size_t idx, u32 v) {
|
void Registers::Write<u32>(size_t idx, u32 v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -192,7 +192,7 @@ __attribute__((always_inline)) void Registers::Write<u32>(size_t idx, u32 v) {
|
|||||||
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<s32>(size_t idx, s32 v) {
|
void Registers::Write<s32>(size_t idx, s32 v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -202,7 +202,7 @@ __attribute__((always_inline)) void Registers::Write<s32>(size_t idx, s32 v) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<u16>(size_t idx, u16 v) {
|
void Registers::Write<u16>(size_t idx, u16 v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -213,7 +213,7 @@ __attribute__((always_inline)) void Registers::Write<u16>(size_t idx, u16 v) {
|
|||||||
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<s16>(size_t idx, s16 v) {
|
void Registers::Write<s16>(size_t idx, s16 v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -223,7 +223,7 @@ __attribute__((always_inline)) void Registers::Write<s16>(size_t idx, s16 v) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<u8>(size_t idx, u8 v) {
|
void Registers::Write<u8>(size_t idx, u8 v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -234,7 +234,7 @@ __attribute__((always_inline)) void Registers::Write<u8>(size_t idx, u8 v) {
|
|||||||
|
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<s8>(size_t idx, s8 v) {
|
void Registers::Write<s8>(size_t idx, s8 v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -245,7 +245,7 @@ __attribute__((always_inline)) void Registers::Write<s8>(size_t idx, s8 v) {
|
|||||||
|
|
||||||
#ifndef __aarch64__
|
#ifndef __aarch64__
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<bool>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<bool>(size_t idx, Xbyak::Reg v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -259,7 +259,7 @@ __attribute__((always_inline)) void Registers::Write<bool>(size_t idx, Xbyak::Re
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<s8>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<s8>(size_t idx, Xbyak::Reg v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -273,7 +273,7 @@ __attribute__((always_inline)) void Registers::Write<s8>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<u8>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<u8>(size_t idx, Xbyak::Reg v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -287,7 +287,7 @@ __attribute__((always_inline)) void Registers::Write<u8>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<s16>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<s16>(size_t idx, Xbyak::Reg v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -301,7 +301,7 @@ __attribute__((always_inline)) void Registers::Write<s16>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<u16>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<u16>(size_t idx, Xbyak::Reg v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -315,7 +315,7 @@ __attribute__((always_inline)) void Registers::Write<u16>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<s32>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<s32>(size_t idx, Xbyak::Reg v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -329,7 +329,7 @@ __attribute__((always_inline)) void Registers::Write<s32>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<u32>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<u32>(size_t idx, Xbyak::Reg v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -343,7 +343,7 @@ __attribute__((always_inline)) void Registers::Write<u32>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<u64>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<u64>(size_t idx, Xbyak::Reg v) {
|
||||||
if (idx == 0)
|
if (idx == 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -356,7 +356,7 @@ __attribute__((always_inline)) void Registers::Write<u64>(size_t idx, Xbyak::Reg
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <>
|
template <>
|
||||||
__attribute__((always_inline)) void Registers::Write<s64>(size_t idx, Xbyak::Reg v) {
|
void Registers::Write<s64>(size_t idx, Xbyak::Reg v) {
|
||||||
Write<u64>(idx, v);
|
Write<u64>(idx, v);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include <backend/core/registers/Cop1.hpp>
|
#include <backend/core/registers/Cop1.hpp>
|
||||||
|
|
||||||
namespace n64 {
|
namespace n64 {
|
||||||
|
struct JIT;
|
||||||
struct Registers {
|
struct Registers {
|
||||||
Registers();
|
Registers();
|
||||||
void Reset();
|
void Reset();
|
||||||
@@ -66,13 +67,13 @@ struct Registers {
|
|||||||
}
|
}
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
__attribute__((always_inline)) T Read(size_t);
|
T Read(size_t);
|
||||||
template <typename T>
|
template <typename T>
|
||||||
__attribute__((always_inline)) void Read(size_t, Xbyak::Reg);
|
void Read(size_t, Xbyak::Reg);
|
||||||
template <typename T>
|
template <typename T>
|
||||||
__attribute__((always_inline)) void Write(size_t, T);
|
void Write(size_t, T);
|
||||||
template <typename T>
|
template <typename T>
|
||||||
__attribute__((always_inline)) void Write(size_t, Xbyak::Reg);
|
void Write(size_t, Xbyak::Reg);
|
||||||
|
|
||||||
std::array<s64, 32> gpr{};
|
std::array<s64, 32> gpr{};
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user