Lines Matching defs:sgpr
67 * propagates sgpr's on VALU instructions.
564 if (temp.type() == RegType::sgpr && !can_accept_sgpr)
568 if (temp.type() == RegType::sgpr && !can_accept_sgpr)
703 unsigned sgpr[] = {0, 0};
708 if (op.hasRegClass() && op.regClass().type() == RegType::sgpr) {
710 if (op.tempId() != sgpr[0] && op.tempId() != sgpr[1]) {
712 sgpr[num_sgprs++] = op.tempId();
1170 op.getTemp().type() == RegType::sgpr)) {
1327 if (info.is_temp() && info.temp.type() == RegType::sgpr && can_apply_sgprs(ctx, instr) &&
2150 if (op[1].type() == RegType::sgpr)
2152 unsigned num_sgprs = (op[0].type() == RegType::sgpr) + (op[1].type() == RegType::sgpr);
3064 if (instr->operands[i].getTemp().type() == RegType::sgpr) {
3069 if (is_copy_label(ctx, instr, info) && info.temp.type() == RegType::sgpr)
3071 if (info.is_extract() && info.instr->operands[0].getTemp().type() == RegType::sgpr)
3087 /* choose a sgpr */
3107 Temp sgpr = info.is_extract() ? info.instr->operands[0].getTemp() : info.temp;
3108 bool new_sgpr = sgpr.id() != sgpr_ids[0] && sgpr.id() != sgpr_ids[1];
3122 instr->operands[sgpr_idx] = Operand(sgpr);
3125 instr->operands[0] = Operand(sgpr);
3131 instr->operands[sgpr_idx] = Operand(sgpr);
3137 sgpr_ids[num_sgprs++] = sgpr.id();
3139 ctx.uses[sgpr.id()]++;
3142 if ((ctx.info[sgpr.id()].label & (label_extract | label_temp)) &&
3143 ctx.info[sgpr.id()].temp.type() == RegType::sgpr)
3808 instr->operands[i].getTemp().type() == RegType::sgpr) &&
4404 has_sgpr |= instr->operands[i].getTemp().type() == RegType::sgpr;
4425 instr->operands[!i].getTemp().type() == RegType::sgpr)
4561 if (instr->isVALU() && op.isTemp() && op.getTemp().type() == RegType::sgpr &&
4576 is_literal_sgpr = op.getTemp().type() == RegType::sgpr;
4747 new_mad->operands[1].getTemp().type() == RegType::sgpr)
4804 /* 2. Combine v_mad, omod, clamp and propagate sgpr on VALU instructions */