mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-15 06:01:09 +02:00
IR: Removes implicit sized neg
This commit is contained in:
1 parent
cccd7001cb
commit
1f1473eb74
2 files changed
+3
-6
No files matched your search
@@ -2351,7 +2351,7 @@ void OpDispatchBuilder::BLSIBMIOp(OpcodeArgs) {
|
||||
// Equivalent to performing: SRC & -SRC
|
||||
|
||||
auto* Src = LoadSource(GPRClass, Op, Op->Src[0], Op->Flags, -1);
|
||||
auto NegatedSrc = _Neg(Src);
|
||||
auto NegatedSrc = _Neg(IR::SizeToOpSize(GetSrcSize(Op)), Src);
|
||||
auto Result = _And(Src, NegatedSrc);
|
||||
|
||||
// ...and we're done. Painless!
|
||||
@@ -4336,11 +4336,11 @@ void OpDispatchBuilder::NEGOp(OpcodeArgs) {
|
||||
DestMem = AppendSegmentOffset(DestMem, Op->Flags);
|
||||
|
||||
Dest = _AtomicFetchNeg(Size, DestMem);
|
||||
Result = _Neg(Dest);
|
||||
Result = _Neg(Size == 8 ? OpSize::i64Bit : OpSize::i32Bit, Dest);
|
||||
}
|
||||
else {
|
||||
Dest = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, -1);
|
||||
Result = _Neg(Dest);
|
||||
Result = _Neg(Size == 8 ? OpSize::i64Bit : OpSize::i32Bit, Dest);
|
||||
|
||||
StoreResult(GPRClass, Op, Result, -1);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user