Lines Matching refs:intr
87 static inline unsigned nir_intr_dest_regindex(const nir_intrinsic_instr *intr)
89 assert(!intr->dest.is_ssa);
91 return intr->dest.reg.reg->index;
94 static inline unsigned nir_intr_src_regindex(const nir_intrinsic_instr *intr,
97 assert(src < nir_intrinsic_infos[intr->intrinsic].num_srcs);
98 assert(!intr->src[src].is_ssa);
100 return intr->src[src].reg.reg->index;
103 static inline uint32_t nir_intr_src_const(const nir_intrinsic_instr *intr,
106 assert(src < nir_intrinsic_infos[intr->intrinsic].num_srcs);
107 assert(intr->src[src].is_ssa);
109 nir_const_value *const_value = nir_src_as_const_value(intr->src[src]);
114 static inline uint32_t nir_intr_src_comp_const(const nir_intrinsic_instr *intr,
118 assert(src < nir_intrinsic_infos[intr->intrinsic].num_srcs);
119 assert(intr->src[src].is_ssa);
120 assert(comp < nir_src_num_components(intr->src[src]));
122 return nir_src_comp_as_uint(intr->src[src], comp);
125 static inline bool nir_intr_src_is_const(const nir_intrinsic_instr *intr,
128 assert(src < nir_intrinsic_infos[intr->intrinsic].num_srcs);
130 if (!intr->src[src].is_ssa)
133 assert(intr->src[src].ssa->parent_instr);
135 return (intr->src[src].ssa->parent_instr->type == nir_instr_type_load_const);