diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/dynarec/rv64/dynarec_rv64_functions.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/dynarec/rv64/dynarec_rv64_functions.c b/src/dynarec/rv64/dynarec_rv64_functions.c index cf64352b..fcda5645 100644 --- a/src/dynarec/rv64/dynarec_rv64_functions.c +++ b/src/dynarec/rv64/dynarec_rv64_functions.c @@ -591,14 +591,14 @@ int rv64_lock_cas_b(void* addr, uint8_t ref, uint8_t val) { uint32_t* aligned = (uint32_t*)(((uintptr_t)addr) & ~3); uint32_t tmp = *aligned; - return rv64_lock_cas_d(aligned, tmp, insert_byte(tmp, val, addr)); + return rv64_lock_cas_d(aligned, insert_byte(tmp, ref, addr), insert_byte(tmp, val, addr)); } int rv64_lock_cas_h(void* addr, uint16_t ref, uint16_t val) { uint32_t* aligned = (uint32_t*)(((uintptr_t)addr) & ~3); uint32_t tmp = *aligned; - return rv64_lock_cas_d(aligned, tmp, insert_half(tmp, val, addr)); + return rv64_lock_cas_d(aligned, insert_half(tmp, ref, addr), insert_half(tmp, val, addr)); } |