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