- nir_dest *dest = get_instr_dest(this->result);
- assert(dest->is_ssa);
-
- return nir_src_for_ssa(&dest->ssa);
-}
-
-nir_alu_instr *
-nir_visitor::emit(nir_op op, unsigned dest_size, nir_src *srcs)
-{
- nir_alu_instr *instr = nir_alu_instr_create(this->shader, op);
- for (unsigned i = 0; i < nir_op_infos[op].num_inputs; i++)
- instr->src[i].src = srcs[i];
- instr->dest.write_mask = (1 << dest_size) - 1;
- add_instr(&instr->instr, dest_size);
- return instr;
-}
-
-nir_alu_instr *
-nir_visitor::emit(nir_op op, unsigned dest_size, nir_src src1)
-{
- assert(nir_op_infos[op].num_inputs == 1);
- return emit(op, dest_size, &src1);
-}
-
-nir_alu_instr *
-nir_visitor::emit(nir_op op, unsigned dest_size, nir_src src1,
- nir_src src2)
-{
- assert(nir_op_infos[op].num_inputs == 2);
- nir_src srcs[] = { src1, src2 };
- return emit(op, dest_size, srcs);
-}
-
-nir_alu_instr *
-nir_visitor::emit(nir_op op, unsigned dest_size, nir_src src1,
- nir_src src2, nir_src src3)
-{
- assert(nir_op_infos[op].num_inputs == 3);
- nir_src srcs[] = { src1, src2, src3 };
- return emit(op, dest_size, srcs);