-static struct ir3_instruction *
-create_indirect_load(struct ir3_context *ctx, unsigned arrsz, int n,
- struct ir3_instruction *address, struct ir3_instruction *collect)
-{
- struct ir3_block *block = ctx->block;
- struct ir3_instruction *mov;
- struct ir3_register *src;
-
- mov = ir3_instr_create(block, OPC_MOV);
- mov->cat1.src_type = TYPE_U32;
- mov->cat1.dst_type = TYPE_U32;
- __ssa_dst(mov);
- src = __ssa_src(mov, collect, IR3_REG_RELATIV);
- src->size = arrsz;
- src->array.offset = n;
-
- ir3_instr_set_address(mov, address);
-
- return mov;
-}
-