• Home
  • Raw
  • Download

Lines Matching refs:ins

161    agx_foreach_instr_global_safe(ctx, ins) {  in agx_ra()
163 if (ins->op == AGX_OPCODE_P_COMBINE) { in agx_ra()
165 assert(ins->dest[0].type == AGX_INDEX_NORMAL); in agx_ra()
166 enum agx_size common_size = ins->dest[0].size; in agx_ra()
167 unsigned base = ssa_to_reg[ins->dest[0].value]; in agx_ra()
171 agx_builder b = agx_init_builder(ctx, agx_after_instr(ins)); in agx_ra()
175 if (agx_is_null(ins->src[i])) continue; in agx_ra()
176 unsigned base = ins->src[i].value; in agx_ra()
177 if (ins->src[i].type == AGX_INDEX_NORMAL) in agx_ra()
180 assert(ins->src[i].type == AGX_INDEX_REGISTER); in agx_ra()
182 assert(ins->src[i].size == common_size); in agx_ra()
189 if (agx_is_null(ins->src[i])) continue; in agx_ra()
190 agx_index src = ins->src[i]; in agx_ra()
200 agx_remove_instruction(ins); in agx_ra()
202 } else if (ins->op == AGX_OPCODE_P_EXTRACT) { in agx_ra()
204 assert(ins->dest[0].type == AGX_INDEX_NORMAL); in agx_ra()
205 unsigned base = ins->src[0].value; in agx_ra()
207 if (ins->src[0].type != AGX_INDEX_REGISTER) { in agx_ra()
208 assert(ins->src[0].type == AGX_INDEX_NORMAL); in agx_ra()
212 … unsigned size = ins->dest[0].size == AGX_SIZE_64 ? 4 : ins->dest[0].size == AGX_SIZE_32 ? 2 : 1; in agx_ra()
213 unsigned left = ssa_to_reg[ins->dest[0].value]; in agx_ra()
214 unsigned right = ssa_to_reg[ins->src[0].value] + (size * ins->imm); in agx_ra()
217 agx_builder b = agx_init_builder(ctx, agx_after_instr(ins)); in agx_ra()
218 agx_mov_to(&b, agx_register(left, ins->dest[0].size), in agx_ra()
219 agx_register(right, ins->src[0].size)); in agx_ra()
222 agx_remove_instruction(ins); in agx_ra()
226 agx_foreach_src(ins, s) { in agx_ra()
227 if (ins->src[s].type == AGX_INDEX_NORMAL) { in agx_ra()
228 unsigned v = ssa_to_reg[ins->src[s].value]; in agx_ra()
229 ins->src[s] = agx_replace_index(ins->src[s], agx_register(v, ins->src[s].size)); in agx_ra()
233 agx_foreach_dest(ins, d) { in agx_ra()
234 if (ins->dest[d].type == AGX_INDEX_NORMAL) { in agx_ra()
235 unsigned v = ssa_to_reg[ins->dest[d].value]; in agx_ra()
236 ins->dest[d] = agx_replace_index(ins->dest[d], agx_register(v, ins->dest[d].size)); in agx_ra()