mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-14 15:00:53 +02:00
IR: add coalescing heuristics for pair replacements
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
1 parent
f4b5c4e69a
commit
a9c26cbf71
4 files changed
+34
-6
No files matched your search
@@ -3309,8 +3309,8 @@ void OpDispatchBuilder::MOVSOp(OpcodeArgs) {
|
||||
SrcAddr = _Add(OpSize::i64Bit, SrcAddr, SrcSegment);
|
||||
}
|
||||
|
||||
Ref Result_Src = _AllocateGPR();
|
||||
Ref Result_Dst = _AllocateGPR();
|
||||
Ref Result_Src = _AllocateGPR(false);
|
||||
Ref Result_Dst = _AllocateGPR(false);
|
||||
_MemCpy(CTX->IsAtomicTSOEnabled(), Size, DstAddr, SrcAddr, Counter, LoadDir(1), Result_Dst, Result_Src);
|
||||
|
||||
if (DstSegment) {
|
||||
@@ -3993,8 +3993,8 @@ void OpDispatchBuilder::CMPXCHGPairOp(OpcodeArgs) {
|
||||
// This will write to memory! Careful!
|
||||
// Third operand must be a calculated guest memory address
|
||||
|
||||
Ref Result_Lower = _AllocateGPR();
|
||||
Ref Result_Upper = _AllocateGPR();
|
||||
Ref Result_Lower = _AllocateGPR(true);
|
||||
Ref Result_Upper = _AllocateGPRAfter(Result_Lower);
|
||||
_CASPair(IR::SizeToOpSize(Size), Expected_Lower, Expected_Upper, Desired_Lower, Desired_Upper, Src1, Result_Lower, Result_Upper);
|
||||
|
||||
HandleNZCV_RMW();
|
||||
|
||||
Reference in new issue
Block a user