-nir_alu_instr *
-nir_visitor::emit(nir_op op, unsigned dest_size, nir_ssa_def **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 = nir_src_for_ssa(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_ssa_def *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_ssa_def *src1,
- nir_ssa_def *src2)
-{
- assert(nir_op_infos[op].num_inputs == 2);
- nir_ssa_def *srcs[] = { src1, src2 };
- return emit(op, dest_size, srcs);
-}
-
-nir_alu_instr *
-nir_visitor::emit(nir_op op, unsigned dest_size, nir_ssa_def *src1,
- nir_ssa_def *src2, nir_ssa_def *src3)
-{
- assert(nir_op_infos[op].num_inputs == 3);
- nir_ssa_def *srcs[] = { src1, src2, src3 };
- return emit(op, dest_size, srcs);
-}
-