diff --git a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp index 1eeba50b6..68b00504c 100644 --- a/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp +++ b/FEXCore/Source/Interface/Core/OpcodeDispatcher.cpp @@ -4336,7 +4336,7 @@ void OpDispatchBuilder::NEGOp(OpcodeArgs) { OrderedNode *DestMem = LoadSource(GPRClass, Op, Op->Dest, Op->Flags, -1, false); DestMem = AppendSegmentOffset(DestMem, Op->Flags); - Dest = _AtomicFetchNeg(Size, DestMem); + Dest = _AtomicFetchNeg(OpSizeFromSrc(Op), DestMem); Result = _Neg(Size == 8 ? OpSize::i64Bit : OpSize::i32Bit, Dest); } else { diff --git a/FEXCore/include/FEXCore/IR/IREmitter.h b/FEXCore/include/FEXCore/IR/IREmitter.h index 2c9020cbc..4d48ace9d 100644 --- a/FEXCore/include/FEXCore/IR/IREmitter.h +++ b/FEXCore/include/FEXCore/IR/IREmitter.h @@ -148,9 +148,6 @@ friend class FEXCore::IR::PassManager; IRPair _AtomicFetchXor(uint8_t Size, OrderedNode *_Value, OrderedNode *_Addr) { return _AtomicFetchXor(static_cast(Size), _Value, _Addr); } - IRPair _AtomicFetchNeg(uint8_t Size, OrderedNode *_Addr) { - return _AtomicFetchNeg(static_cast(Size), _Addr); - } ///< ALU IRPair _Add(OrderedNode *_Src1, OrderedNode *_Src2) { return _Add(static_cast(std::max(4, std::max(GetOpSize(_Src1), GetOpSize(_Src2)))), _Src1, _Src2);