diff --git a/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp b/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp index c8aedee82..afc9c68cf 100644 --- a/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp +++ b/FEXCore/Source/Interface/Core/JIT/Arm64/MemoryOps.cpp @@ -52,7 +52,7 @@ DEF_OP(StoreContext) { const auto OpSize = IROp->Size; if (Op->Class == FEXCore::IR::GPRClass) { - auto Src = GetReg(Op->Value.ID()); + auto Src = GetZeroableReg(Op->Value); switch (OpSize) { case 1: strb(Src, STATE, Op->Offset); break; diff --git a/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp b/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp index 1a31a53a3..b34e2ce48 100644 --- a/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp +++ b/FEXCore/Source/Interface/IR/Passes/ConstProp.cpp @@ -629,7 +629,8 @@ void ConstProp::ConstantInlining(IREmitter* IREmit, const IRListView& CurrentIR) break; } case OP_ADC: - case OP_ADCWITHFLAGS: { + case OP_ADCWITHFLAGS: + case OP_STORECONTEXT: { uint64_t Constant1 {}; if (IREmit->IsValueConstant(IROp->Args[0], &Constant1)) { if (Constant1 == 0) {