mirror of
https://git.naxdy.org/Mirror/Ryujinx.git
synced 2025-03-14 22:40:18 +00:00
32
This commit is contained in:
parent
382e268981
commit
c9172abe6c
1 changed files with 10 additions and 5 deletions
|
@ -146,13 +146,13 @@ namespace ARMeilleure.Instructions
|
||||||
var exclusive = (accType & AccessType.Exclusive) != 0;
|
var exclusive = (accType & AccessType.Exclusive) != 0;
|
||||||
var ordered = (accType & AccessType.Ordered) != 0;
|
var ordered = (accType & AccessType.Ordered) != 0;
|
||||||
|
|
||||||
|
if ((accType & AccessType.Load) != 0)
|
||||||
|
{
|
||||||
if (ordered)
|
if (ordered)
|
||||||
{
|
{
|
||||||
EmitBarrier(context);
|
EmitBarrier(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((accType & AccessType.Load) != 0)
|
|
||||||
{
|
|
||||||
if (size == DWordSizeLog2)
|
if (size == DWordSizeLog2)
|
||||||
{
|
{
|
||||||
// Keep loads atomic - make the call to get the whole region and then decompose it into parts
|
// Keep loads atomic - make the call to get the whole region and then decompose it into parts
|
||||||
|
@ -219,6 +219,11 @@ namespace ARMeilleure.Instructions
|
||||||
Operand value = context.ZeroExtend32(OperandType.I64, GetIntA32(context, op.Rt));
|
Operand value = context.ZeroExtend32(OperandType.I64, GetIntA32(context, op.Rt));
|
||||||
EmitStoreExclusive(context, address, value, exclusive, size, op.Rd, a32: true);
|
EmitStoreExclusive(context, address, value, exclusive, size, op.Rd, a32: true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (ordered)
|
||||||
|
{
|
||||||
|
EmitBarrier(context);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue