diff options
| author | Yang Liu <numbksco@gmail.com> | 2024-05-20 18:04:31 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-20 12:04:31 +0200 |
| commit | aead503f0290eef0e56de76ff4001477f0e8d812 (patch) | |
| tree | 6d41d40cb8efdca89c1bb5a6a4d770d0dd449d01 /src/emu | |
| parent | 7ef2af254910f9a651c7d3633c2ada696065a8b1 (diff) | |
| download | box64-aead503f0290eef0e56de76ff4001477f0e8d812.tar.gz box64-aead503f0290eef0e56de76ff4001477f0e8d812.zip | |
[INTERPRETER] Fixed CMPXCHG16B opcode for la64 (#1506)
it's not the best we can do, but it fixes things. Will came up something better with scq extension later.
Diffstat (limited to 'src/emu')
| -rw-r--r-- | src/emu/x64runf0.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/emu/x64runf0.c b/src/emu/x64runf0.c index 70d945ec..ce7145fc 100644 --- a/src/emu/x64runf0.c +++ b/src/emu/x64runf0.c @@ -745,7 +745,7 @@ uintptr_t RunF0(x64emu_t *emu, rex_t rex, uintptr_t addr) GETGD; #if defined(DYNAREC) && !defined(TEST_INTERPRETER) if (rex.w) { -#if defined(__riscv) +#if defined(__riscv) || defined(__loongarch64) while (native_lock_xchg_d(&emu->context->mutex_16b, 1)); // lock tmp64u = ((uint64_t*)ED)[0]; tmp64u2 = ((uint64_t*)ED)[1]; |