[dynarmic] XMM spill, SSE/AVX emit, sub/add, configurable JIT state pointer, remove unnecessary stuff #128

Merged
crueter merged 19 commits from attempt-nsbufix into master 2025-08-02 00:48:11 +02:00
Showing only changes of commit 34d8fe96b4 - Show all commits

View file

@ -16,15 +16,14 @@ namespace Dynarmic {
void EmitSpinLockLock(Xbyak::CodeGenerator& code, Xbyak::Reg64 ptr, Xbyak::Reg32 tmp) {
Xbyak::Label start, loop;
code.jmp(start);
code.jmp(start, code.T_NEAR);
code.L(loop);
code.pause();
code.L(start);
code.mov(tmp, 1);
code.lock();
code.xchg(code.dword[ptr], tmp);
/*code.lock();*/ code.xchg(code.dword[ptr], tmp);
code.test(tmp, tmp);
code.jnz(loop);
code.jnz(loop, code.T_NEAR);
}
void EmitSpinLockUnlock(Xbyak::CodeGenerator& code, Xbyak::Reg64 ptr, Xbyak::Reg32 tmp) {