diff --git a/src/compiler/nir/nir.h b/src/compiler/nir/nir.h index a53a0a2b888..756ca610852 100644 --- a/src/compiler/nir/nir.h +++ b/src/compiler/nir/nir.h @@ -5102,6 +5102,12 @@ nir_component_mask_t nir_def_components_read(const nir_def *def); bool nir_def_all_uses_are_fsat(const nir_def *def); bool nir_def_all_uses_ignore_sign_bit(const nir_def *def); +static inline int +nir_def_first_component_read(nir_def *def) +{ + return (int)ffs(nir_def_components_read(def)) - 1; +} + static inline int nir_def_last_component_read(nir_def *def) {