Lines Matching defs:mov
246 /* add extra mov if dst value is shared reg.. in some cases not all
248 * ir3_cp will clean up the extra mov:
321 * extra mov.
570 struct ir3_instruction *mov;
574 mov = ir3_instr_create(block, OPC_MOV, 1, 1);
576 mov->cat1.src_type = TYPE_U16;
577 mov->cat1.dst_type = TYPE_U16;
580 mov->cat1.src_type = TYPE_U32;
581 mov->cat1.dst_type = TYPE_U32;
584 mov->barrier_class = IR3_BARRIER_ARRAY_R;
585 mov->barrier_conflict = IR3_BARRIER_ARRAY_W;
586 __ssa_dst(mov)->flags |= flags;
587 src = ir3_src_create(mov, 0,
598 ir3_instr_set_address(mov, address);
600 return mov;
610 struct ir3_instruction *mov;
614 /* if not relative store, don't create an extra mov, since that
617 * Also, don't skip the mov if the src is meta (like fanout/split),
642 mov = ir3_instr_create(block, OPC_MOV, 1, 1);
644 mov->cat1.src_type = TYPE_U16;
645 mov->cat1.dst_type = TYPE_U16;
648 mov->cat1.src_type = TYPE_U32;
649 mov->cat1.dst_type = TYPE_U32;
651 mov->barrier_class = IR3_BARRIER_ARRAY_W;
652 mov->barrier_conflict = IR3_BARRIER_ARRAY_R | IR3_BARRIER_ARRAY_W;
654 mov, 0,
656 dst->instr = mov;
661 ir3_src_create(mov, 0, IR3_REG_SSA | flags)->def = src->dsts[0];
664 ir3_reg_set_last_array(mov, dst, arr->last_write);
667 ir3_instr_set_address(mov, address);
675 array_insert(block, block->keeps, mov);