Lines Matching defs:ssa
103 nir_ssa_def_rewrite_uses(&instr->dest.ssa, &load->dest.ssa);
129 nir_variable *var = nir_deref_instr_get_variable(nir_instr_as_deref(intr->src[0].ssa->parent_instr));
163 nir_ssa_def_rewrite_uses_after(&intr->dest.ssa, new_vec,
167 nir_instr *parent = intr->src[0].ssa->parent_instr;
186 nir_variable *var = nir_deref_instr_get_variable(nir_instr_as_deref(intr->src[0].ssa->parent_instr));
215 nir_ssa_def_rewrite_uses(&intr->dest.ssa, nir_vec(b, casted, num_components));
218 nir_instr *parent = intr->src[0].ssa->parent_instr;
230 * composite value that's used in place of the original loaded ssa src
261 nir_build_alu(b, nir_op_ieq, &load->dest.ssa, nir_imm_int(b, 1), NULL, NULL),
262 &instr->dest.ssa,
266 nir_ssa_def_rewrite_uses_after(&instr->dest.ssa, composite,
301 nir_ssa_def_rewrite_uses(&instr->dest.ssa, &load->dest.ssa);
523 offset = intr->src[2].ssa;
528 offset = intr->src[1].ssa;
535 offset = intr->src[1].ssa;
563 nir_ssa_def_rewrite_uses(&intr->dest.ssa, load);
648 nir_ssa_def *deref = &nir_build_deref_var(b, fbfetch)->dest.ssa;
651 nir_ssa_def_rewrite_uses(&intr->dest.ssa, load);
1001 nir_ssa_def_rewrite_uses(&intr->dest.ssa, new_load);
1066 nir_ssa_def *offset = nir_udiv_imm(b, intr->src[1].ssa, nir_dest_bit_size(intr->dest) / 8);
1079 nir_ssa_def *offset = nir_udiv_imm(b, intr->src[1].ssa, (force_2x32 ? 32 : nir_dest_bit_size(intr->dest)) / 8);
1084 assert(intr->dest.ssa.num_components == 1);
1089 load[i] = nir_load_ssbo(b, 1, 32, intr->src[0].ssa, nir_iadd_imm(b, intr->src[1].ssa, i), .align_mul = 4, .align_offset = 0);
1091 load[i] = nir_load_ubo(b, 1, 32, intr->src[0].ssa, nir_iadd_imm(b, intr->src[1].ssa, i), .align_mul = 4, .align_offset = 0, .range = 4);
1096 nir_ssa_def_rewrite_uses(&intr->dest.ssa, casted);
1104 nir_ssa_def *offset = nir_udiv_imm(b, intr->src[0].ssa, (force_2x32 ? 32 : nir_dest_bit_size(intr->dest)) / 8);
1109 assert(intr->dest.ssa.num_components == 1);
1113 load[i] = nir_load_shared(b, 1, 32, nir_iadd_imm(b, intr->src[0].ssa, i), .align_mul = 4, .align_offset = 0);
1116 nir_ssa_def_rewrite_uses(&intr->dest.ssa, casted);
1124 nir_ssa_def *offset = nir_udiv_imm(b, intr->src[2].ssa, (force_2x32 ? 32 : nir_src_bit_size(intr->src[0])) / 8);
1129 assert(intr->src[0].ssa->num_components == 1);
1130 nir_ssa_def *vals[2] = {nir_unpack_64_2x32_split_x(b, intr->src[0].ssa), nir_unpack_64_2x32_split_y(b, intr->src[0].ssa)};
1132 nir_store_ssbo(b, vals[i], intr->src[1].ssa, nir_iadd_imm(b, intr->src[2].ssa, i), .align_mul = 4, .align_offset = 0);
1140 nir_ssa_def *offset = nir_udiv_imm(b, intr->src[1].ssa, (force_2x32 ? 32 : nir_src_bit_size(intr->src[0])) / 8);
1145 assert(intr->src[0].ssa->num_components == 1);
1146 nir_ssa_def *vals[2] = {nir_unpack_64_2x32_split_x(b, intr->src[0].ssa), nir_unpack_64_2x32_split_y(b, intr->src[0].ssa)};
1148 nir_store_shared(b, vals[i], nir_iadd_imm(b, intr->src[1].ssa, i), .align_mul = 4, .align_offset = 0);
1255 nir_ssa_def *offset = intr->src[1].ssa;
1259 nir_ssa_def *idx = src->ssa;
1272 new_instr->src[0] = nir_src_for_ssa(&deref_arr->dest.ssa);
1278 result[i] = &new_instr->dest.ssa;
1283 nir_ssa_def_rewrite_uses(&intr->dest.ssa, load);
1316 offset = intr->src[2].ssa;
1322 offset = intr->src[1].ssa;
1327 offset = intr->src[1].ssa;
1336 nir_ssa_def *idx = !ssbo && var->data.driver_location ? nir_iadd_imm(b, src->ssa, -1) : src->ssa;
1354 nir_ssa_def_rewrite_uses(&intr->dest.ssa, load);
1357 nir_build_store_deref(b, &deref_arr->dest.ssa, intr->src[0].ssa, BITFIELD_MASK(intr->num_components), nir_intrinsic_access(intr));
1475 nir_ssa_def_rewrite_uses(&intr->dest.ssa, undef);
1661 if ((intr->intrinsic == nir_intrinsic_store_deref && intr->src[1].ssa->bit_size != 64) ||
1662 (intr->intrinsic == nir_intrinsic_load_deref && intr->dest.ssa.bit_size != 64))
1675 nir_ssa_def *ssa = nir_unpack_64_2x32(&b, nir_channel(&b, intr->src[1].ssa, i));
1676 comp[i * 2] = nir_channel(&b, ssa, 0);
1677 comp[i * 2 + 1] = nir_channel(&b, ssa, 1);
1691 nir_ssa_def *index = deref->arr.index.ssa;
1751 nir_ssa_def *index = deref->arr.index.ssa;
1814 nir_ssa_def_rewrite_uses_after(&intr->dest.ssa, dest, instr);
1891 nir_ssa_def *dest = &nir_build_deref_var(&b, members[deref->strct.index])->dest.ssa;
1892 nir_ssa_def_rewrite_uses_after(&deref->dest.ssa, dest, &deref->instr);
2202 nir_ssa_def *def = nir_isub(b, &intr->dest.ssa, nir_load_base_instance(b));
2203 nir_ssa_def_rewrite_uses_after(&intr->dest.ssa, def, def->parent_instr);
2428 deref = nir_build_deref_array(b, deref, nir_u2uN(b, tex->src[idx].src.ssa, 32));
2429 nir_instr_rewrite_src_ssa(in, &tex->src[idx].src, &deref->dest.ssa);
2443 nir_ssa_def *def = nir_pad_vector(b, tex->src[c].src.ssa, needed_components);
2495 deref = nir_build_deref_array(b, deref, nir_u2uN(b, instr->src[0].ssa, 32));
2496 nir_instr_rewrite_src_ssa(in, &instr->src[0], &deref->dest.ssa);
2538 nir_ssa_def_rewrite_uses(&instr->dest.ssa, def);
2540 nir_store_deref(b, deref, instr->src[1].ssa, nir_intrinsic_write_mask(instr));
2698 if (tex->src[c].src.ssa->num_components == tex->coord_components)
2701 nir_ssa_def *zero = nir_imm_zero(b, 1, tex->src[c].src.ssa->bit_size);
2702 if (tex->src[c].src.ssa->num_components == 1)
2703 def = nir_vec2(b, tex->src[c].src.ssa, zero);
2705 def = nir_vec3(b, nir_channel(b, tex->src[c].src.ssa, 0), zero, nir_channel(b, tex->src[c].src.ssa, 1));
2710 unsigned num_components = tex->dest.ssa.num_components;
2712 tex->dest.ssa.num_components = needed_components;
2716 nir_ssa_def *dst = nir_channels(b, &tex->dest.ssa, mask);
2717 nir_ssa_def_rewrite_uses_after(&tex->dest.ssa, dst, dst->parent_instr);
2820 parent = alu->src[0].src.ssa->parent_instr;
2833 if (is_residency_code(instr->src[0].ssa))
2834 src0 = nir_is_sparse_texels_resident(b, 1, instr->src[0].ssa);
2836 src0 = instr->src[0].ssa;
2838 if (is_residency_code(instr->src[1].ssa))
2839 src1 = nir_is_sparse_texels_resident(b, 1, instr->src[1].ssa);
2841 src1 = instr->src[1].ssa;
2843 nir_ssa_def_rewrite_uses_after(&instr->dest.ssa, def, in);
2855 nir_instr *parent = instr->src[0].ssa->parent_instr;
2856 if (is_residency_code(instr->src[0].ssa)) {
2859 nir_ssa_def_rewrite_uses_after(instr->src[0].ssa, nir_channel(b, alu->src[0].src.ssa, 0), parent);
2866 src = intr->src[0].ssa;
2870 src = alu->src[0].src.ssa;
2872 if (instr->dest.ssa.bit_size != 32) {
2873 if (instr->dest.ssa.bit_size == 1)
2876 src = nir_u2uN(b, src, instr->dest.ssa.bit_size);
2878 nir_ssa_def_rewrite_uses(&instr->dest.ssa, src);
2925 nir_ssa_def *dest = &tex->dest.ssa;
2927 tex->dest.ssa.bit_size = bit_size;
2931 tex->dest.ssa.num_components = 1;
2937 dest = nir_u2uN(b, &tex->dest.ssa, dest_size);
2939 dest = nir_i2iN(b, &tex->dest.ssa, dest_size);
2941 dest = nir_f2fN(b, &tex->dest.ssa, dest_size);
2947 nir_ssa_def_rewrite_uses_after(&tex->dest.ssa, dest, dest->parent_instr);
2950 tex->dest.ssa.num_components = 1;
2987 nir_channel(b, alu->src[0].src.ssa, alu->src[0].swizzle[i]),
2988 nir_channel(b, alu->src[1].src.ssa, alu->src[1].swizzle[i]),
2989 nir_channel(b, alu->src[2].src.ssa, alu->src[2].swizzle[i]),
2990 nir_channel(b, alu->src[3].src.ssa, alu->src[3].swizzle[i]));
2993 nir_channel(b, alu->src[0].src.ssa, alu->src[0].swizzle[i]),
2994 nir_channel(b, alu->src[1].src.ssa, alu->src[1].swizzle[i]),
2995 nir_channel(b, alu->src[2].src.ssa, alu->src[2].swizzle[i]));
2998 nir_channel(b, alu->src[0].src.ssa, alu->src[0].swizzle[i]),
2999 nir_channel(b, alu->src[1].src.ssa, alu->src[1].swizzle[i]),
3000 nir_channel(b, alu->src[2].src.ssa, alu->src[2].swizzle[i]));
3003 nir_ssa_def_rewrite_uses_after(&alu->dest.dest.ssa, dest, in);