mirror of
https://git.suyu.dev/suyu/dynarmic.git
synced 2026-03-08 04:32:57 +00:00
A64: Implement STXRB, STXRH, STXR, STLXRB, STLXRH, STLXR, LDXRB, LDXRH, LDXR, LDAXRB, LDAXRH, LDAXR
This commit is contained in:
@@ -308,6 +308,24 @@ void TranslatorVisitor::Mem(IR::U64 address, size_t bytesize, AccType /*acctype*
|
||||
}
|
||||
}
|
||||
|
||||
IR::U32 TranslatorVisitor::ExclusiveMem(IR::U64 address, size_t bytesize, AccType /*acctype*/, IR::UAnyU128 value) {
|
||||
switch (bytesize) {
|
||||
case 1:
|
||||
return ir.ExclusiveWriteMemory8(address, value);
|
||||
case 2:
|
||||
return ir.ExclusiveWriteMemory16(address, value);
|
||||
case 4:
|
||||
return ir.ExclusiveWriteMemory32(address, value);
|
||||
case 8:
|
||||
return ir.ExclusiveWriteMemory64(address, value);
|
||||
case 16:
|
||||
return ir.ExclusiveWriteMemory128(address, value);
|
||||
default:
|
||||
ASSERT_MSG(false, "Invalid bytesize parameter {}", bytesize);
|
||||
return {};
|
||||
}
|
||||
}
|
||||
|
||||
IR::U32U64 TranslatorVisitor::SignExtend(IR::UAny value, size_t to_size) {
|
||||
switch (to_size) {
|
||||
case 32:
|
||||
|
||||
Reference in New Issue
Block a user