diff --git a/src/intel/compiler/brw_compiler.c b/src/intel/compiler/brw_compiler.c index 778c057c1b7..0c7dc3f8401 100644 --- a/src/intel/compiler/brw_compiler.c +++ b/src/intel/compiler/brw_compiler.c @@ -135,7 +135,10 @@ brw_compiler_create(void *mem_ctx, const struct intel_device_info *devinfo) nir_lower_imul64 | nir_lower_isign64 | nir_lower_divmod64 | - nir_lower_imul_high64; + nir_lower_imul_high64 | + nir_lower_find_lsb64 | + nir_lower_ufind_msb64 | + nir_lower_bit_count64; nir_lower_doubles_options fp64_options = nir_lower_drcp | nir_lower_dsqrt | diff --git a/src/intel/compiler/brw_nir.c b/src/intel/compiler/brw_nir.c index 3cc22332d58..31168b4cc93 100644 --- a/src/intel/compiler/brw_nir.c +++ b/src/intel/compiler/brw_nir.c @@ -772,7 +772,7 @@ lower_bit_size_callback(const nir_instr *instr, UNUSED void *data) * source. */ assert(alu->src[0].src.is_ssa); - return alu->src[0].src.ssa->bit_size == 32 ? 0 : 32; + return alu->src[0].src.ssa->bit_size >= 32 ? 0 : 32; default: break; }