Lines Matching refs:arr
227 struct ir3_array *arr = ir3_get_array(ctx, reg);
228 unsigned num_components = arr->r->num_components;
239 compile_assert(ctx, n < arr->length);
240 value[i] = ir3_create_array_load(ctx, arr, n, addr);
275 struct ir3_array *arr = ir3_get_array(ctx, reg);
285 compile_assert(ctx, n < arr->length);
288 ir3_create_array_store(ctx, arr, n, ctx->last_dst[i], addr);
299 ir3_create_collect(struct ir3_context *ctx, struct ir3_instruction *const *arr,
308 unsigned flags = arr[0]->regs[0]->flags & IR3_REG_HALF;
313 struct ir3_instruction *elem = arr[i];
515 struct ir3_array *arr = rzalloc(ctx, struct ir3_array);
516 arr->id = ++ctx->num_arrays;
524 arr->length = reg->num_components * MAX2(1, reg->num_array_elems);
525 compile_assert(ctx, arr->length > 0);
526 arr->r = reg;
527 list_addtail(&arr->node, &ctx->ir->array_list);
533 list_for_each_entry (struct ir3_array, arr, &ctx->ir->array_list, node) {
534 if (arr->r == reg)
535 return arr;
543 ir3_create_array_load(struct ir3_context *ctx, struct ir3_array *arr, int n,
558 src->instr = arr->last_write;
559 src->size = arr->length;
560 src->array.id = arr->id;
571 ir3_create_array_store(struct ir3_context *ctx, struct ir3_array *arr, int n,
588 dst->instr = arr->last_write;
589 dst->size = arr->length;
590 dst->array.id = arr->id;
593 arr->last_write = src;
607 dst->instr = arr->last_write;
608 dst->size = arr->length;
609 dst->array.id = arr->id;
616 arr->last_write = mov;