diff --git a/External/FEXCore/Source/Interface/Core/Interpreter/InterpreterCore.cpp b/External/FEXCore/Source/Interface/Core/Interpreter/InterpreterCore.cpp index 037716290..98d0beee8 100644 --- a/External/FEXCore/Source/Interface/Core/Interpreter/InterpreterCore.cpp +++ b/External/FEXCore/Source/Interface/Core/Interpreter/InterpreterCore.cpp @@ -2715,7 +2715,7 @@ void InterpreterCore::ExecuteCode(FEXCore::Core::InternalThreadState *Thread) { uint8_t Tmp[16]; uint8_t Elements = Op->RegisterSize / Op->ElementSize; - auto Func = [](auto a, auto b) { return a >> b; }; + auto Func = [](auto a, auto b) { return b >= (sizeof(a) * 8) ? 0 : a >> b; }; switch (Op->ElementSize) { DO_VECTOR_OP(1, uint8_t, Func)