Lines Matching defs:intrin

481          nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
482 switch (intrin->intrinsic) {
484 mark_array_deref_used(nir_src_as_deref(intrin->src[1]),
490 mark_array_deref_used(nir_src_as_deref(intrin->src[0]),
773 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
774 if (intrin->intrinsic != nir_intrinsic_load_deref &&
775 intrin->intrinsic != nir_intrinsic_store_deref &&
776 intrin->intrinsic != nir_intrinsic_copy_deref)
780 intrin->intrinsic == nir_intrinsic_copy_deref ? 2 : 1;
783 nir_deref_instr *deref = nir_src_as_deref(intrin->src[d]);
793 b.cursor = nir_before_instr(&intrin->instr);
807 if (intrin->intrinsic == nir_intrinsic_load_deref) {
809 nir_ssa_undef(&b, intrin->dest.ssa.num_components,
810 intrin->dest.ssa.bit_size);
811 nir_ssa_def_rewrite_uses(&intrin->dest.ssa,
814 nir_instr_remove(&intrin->instr);
816 nir_deref_instr_remove_if_unused(nir_src_as_deref(intrin->src[i]));
841 nir_instr_rewrite_src(&intrin->instr, &intrin->src[d],
1223 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
1224 switch (intrin->intrinsic) {
1226 mark_deref_used(nir_src_as_deref(intrin->src[0]),
1227 nir_ssa_def_components_read(&intrin->dest.ssa), 0,
1232 mark_deref_used(nir_src_as_deref(intrin->src[0]),
1233 0, get_non_self_referential_store_comps(intrin),
1239 nir_deref_instr *dst = nir_src_as_deref(intrin->src[0]);
1240 nir_deref_instr *src = nir_src_as_deref(intrin->src[1]);
1502 nir_intrinsic_instr *intrin = nir_instr_as_intrinsic(instr);
1510 if (intrin->intrinsic == nir_intrinsic_copy_deref) {
1511 nir_deref_instr *dst = nir_src_as_deref(intrin->src[0]);
1512 nir_deref_instr *src = nir_src_as_deref(intrin->src[1]);
1515 nir_instr_remove(&intrin->instr);
1522 if (intrin->intrinsic != nir_intrinsic_load_deref &&
1523 intrin->intrinsic != nir_intrinsic_store_deref)
1526 nir_deref_instr *deref = nir_src_as_deref(intrin->src[0]);
1536 if (intrin->intrinsic == nir_intrinsic_load_deref) {
1538 nir_ssa_undef(&b, intrin->dest.ssa.num_components,
1539 intrin->dest.ssa.bit_size);
1540 nir_ssa_def_rewrite_uses(&intrin->dest.ssa,
1543 nir_instr_remove(&intrin->instr);
1554 if (intrin->intrinsic == nir_intrinsic_load_deref) {
1555 b.cursor = nir_after_instr(&intrin->instr);
1558 nir_ssa_undef(&b, 1, intrin->dest.ssa.bit_size);
1561 for (unsigned i = 0; i < intrin->num_components; i++) {
1563 vec_srcs[i] = nir_channel(&b, &intrin->dest.ssa, c++);
1567 nir_ssa_def *vec = nir_vec(&b, vec_srcs, intrin->num_components);
1569 nir_ssa_def_rewrite_uses_after(&intrin->dest.ssa,
1576 assert(list_length(&intrin->dest.ssa.uses) == c);
1577 intrin->num_components = c;
1578 intrin->dest.ssa.num_components = c;
1581 nir_intrinsic_write_mask(intrin);
1586 for (unsigned i = 0; i < intrin->num_components; i++) {
1595 b.cursor = nir_before_instr(&intrin->instr);
1598 nir_swizzle(&b, intrin->src[1].ssa, swizzle, c);
1601 nir_instr_rewrite_src(&intrin->instr, &intrin->src[1],
1603 nir_intrinsic_set_write_mask(intrin, new_write_mask);
1604 intrin->num_components = c;