Lines Matching defs:ins
30 bi_has_arg(const bi_instr *ins, bi_index arg)
32 if (!ins)
35 bi_foreach_src(ins, s) {
36 if (bi_is_equiv(ins->src[s], arg))
66 bi_count_staging_registers(const bi_instr *ins)
68 enum bi_sr_count count = bi_opcode_props[ins->op].sr_count;
69 unsigned vecsize = ins->vecsize + 1; /* XXX: off-by-one */
75 return bi_is_regfmt_16(ins->register_format) ?
80 return ins->sr_count;
87 bi_count_read_registers(const bi_instr *ins, unsigned s)
90 if (s == 0 && ins->op == BI_OPCODE_PATOM_C_I32)
92 else if (s == 0 && bi_opcode_props[ins->op].sr_read)
93 return bi_count_staging_registers(ins);
99 bi_count_write_registers(const bi_instr *ins, unsigned d)
101 if (d == 0 && bi_opcode_props[ins->op].sr_write) {
104 if (ins->op == BI_OPCODE_TEXC)
107 return bi_count_staging_registers(ins);
108 } else if (ins->op == BI_OPCODE_SEG_ADD_I64) {
116 bi_writemask(const bi_instr *ins, unsigned d)
118 unsigned mask = BITFIELD_MASK(bi_count_write_registers(ins, d));
119 unsigned shift = ins->dest[d].offset;