diff --git a/src/compiler/nir/nir_lower_subgroups.c b/src/compiler/nir/nir_lower_subgroups.c index 3619fd1fd0f..6f8f34fb8ca 100644 --- a/src/compiler/nir/nir_lower_subgroups.c +++ b/src/compiler/nir/nir_lower_subgroups.c @@ -318,7 +318,7 @@ build_ballot_imm_ishl(nir_builder *b, int64_t val, nir_ssa_def *shift, const nir_lower_subgroups_options *options) { /* This only works if all the high bits are the same as bit 1. */ - assert(((val << 62) >> 62) == val); + assert((val >> 2) == (val & 0x2 ? -1 : 0)); /* First compute the result assuming one ballot component. */ nir_ssa_def *result =