Lines Matching refs:dst
61 mov_immed(struct ir3_register *dst, struct ir3_block *block, unsigned immed)
64 struct ir3_register *mov_dst = ir3_dst_create(mov, dst->num, dst->flags);
65 mov_dst->wrmask = dst->wrmask;
67 mov, INVALID_REG, (dst->flags & IR3_REG_HALF) | IR3_REG_IMMED);
69 mov->cat1.dst_type = (dst->flags & IR3_REG_HALF) ? TYPE_U16 : TYPE_U32;
75 mov_reg(struct ir3_block *block, struct ir3_register *dst,
81 ir3_dst_create(mov, dst->num, dst->flags & (IR3_REG_HALF | IR3_REG_SHARED));
84 mov_dst->wrmask = dst->wrmask;
88 mov->cat1.dst_type = (dst->flags & IR3_REG_HALF) ? TYPE_U16 : TYPE_U32;
93 binop(struct ir3_block *block, opc_t opc, struct ir3_register *dst,
98 unsigned flags = dst->flags & IR3_REG_HALF;
99 struct ir3_register *instr_dst = ir3_dst_create(instr, dst->num, flags);
103 instr_dst->wrmask = dst->wrmask;
110 triop(struct ir3_block *block, opc_t opc, struct ir3_register *dst,
116 unsigned flags = dst->flags & IR3_REG_HALF;
117 struct ir3_register *instr_dst = ir3_dst_create(instr, dst->num, flags);
122 instr_dst->wrmask = dst->wrmask;
131 struct ir3_register *dst, struct ir3_register *src0,
137 binop(block, OPC_##name, dst, src0, src1); \
156 if (dst->flags & IR3_REG_HALF) {
157 binop(block, OPC_MUL_S24, dst, src0, src1);
160 binop(block, OPC_MULL_U, dst, src0, src1);
161 triop(block, OPC_MADSH_M16, dst, src0, src1, dst);
162 triop(block, OPC_MADSH_M16, dst, src1, src0, dst);