Lines Matching refs:reg
104 * start of the register, and offset + size <= size(reg).
107 struct ir3_register *reg;
118 struct ir3_instruction *instr = value.reg->instr;
120 value.offset += instr->split.off * reg_elem_size(value.reg);
121 value.reg = instr->srcs[0]->def;
123 if (value.offset % reg_elem_size(value.reg) != 0 ||
124 value.size > reg_elem_size(value.reg) ||
125 value.offset + value.size > reg_size(value.reg))
128 instr->srcs[value.offset / reg_elem_size(value.reg)];
132 value.reg = src->def;
146 struct ir3_register *reg;
155 unsigned a_end = a_start + reg_size(a->reg);
156 unsigned b_end = b_start + reg_size(b->reg);
180 .reg = a->reg,
185 .reg = b->reg,
189 return a_value.reg == b_value.reg && a_value.offset == b_value.offset;
266 current.reg = b->regs[b_index];
267 current.offset = current.reg->merge_set_offset + b_offset;
270 current.reg = a->regs[a_index];
271 current.offset = current.reg->merge_set_offset;
275 current.reg = a->regs[a_index];
276 current.offset = current.reg->merge_set_offset;
279 current.reg = b->regs[b_index];
280 current.offset = current.reg->merge_set_offset + b_offset;
286 !def_dominates(dom[dom_index].reg, current.reg)) {
312 if (ir3_def_live_after(live, dom[i].reg, current.reg->instr))
444 struct ir3_register *reg = __ssa_dst(pcopy);
445 reg->flags |= src[j]->flags & (IR3_REG_HALF | IR3_REG_ARRAY);
446 reg->size = src[j]->size;
447 reg->wrmask = src[j]->wrmask;
531 struct ir3_register *reg = merge_set->regs[j];
533 reg->instr->serialno, reg->name, reg->merge_set_offset);