3
0
Fork 0
forked from suyu/suyu

shader: Fix BFE s32 undefined check

Our unit tests were hitting this exception.
This commit is contained in:
ameerj 2021-04-24 00:49:14 -04:00
parent 8fda599a31
commit 20e86fd615

View file

@ -565,7 +565,7 @@ void ConstantPropagation(IR::Block& block, IR::Inst& inst) {
const size_t back_shift{static_cast<size_t>(shift) + static_cast<size_t>(count)};
const size_t left_shift{32 - back_shift};
const size_t right_shift{static_cast<size_t>(32 - count)};
if (back_shift >= 32 || left_shift >= 32 || right_shift >= 32) {
if (back_shift > 32 || left_shift >= 32 || right_shift >= 32) {
throw LogicError("Undefined result in {}({}, {}, {})", IR::Opcode::BitFieldSExtract,
base, shift, count);
}