OpcodeDispatcher: simplify

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
This commit is contained in:
Alyssa Rosenzweig committed 2024-02-28 10:00:13 -04:00
1 parent 28936073c4
commit 8232669b22
1 file changed
+2 -4
@@ -4063,17 +4063,15 @@ void OpDispatchBuilder::NEGOp(OpcodeArgs) {
auto Size = GetSrcSize(Op);
auto ZeroConst = _Constant(0);
OrderedNode *Dest{};
if (DestIsLockedMem(Op)) {
OrderedNode *DestMem = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, {.LoadData = false});
DestMem = AppendSegmentOffset(DestMem, Op->Flags);
Dest = _AtomicFetchNeg(IR::SizeToOpSize(Size), DestMem);
OrderedNode *Dest = _AtomicFetchNeg(IR::SizeToOpSize(Size), DestMem);
CalculateFlags_SUB(Size, ZeroConst, Dest);
}
else {
Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, {.AllowUpperGarbage = true});
OrderedNode *Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, {.AllowUpperGarbage = true});
OrderedNode *Result = CalculateFlags_SUB(Size, ZeroConst, Dest);
StoreResult(GPRClass, Op, Result, -1);