Lines Matching refs:sgpr

67  *     propagates sgpr's on VALU instructions.
530 if (temp.type() == RegType::sgpr && !can_accept_sgpr)
534 if (temp.type() == RegType::sgpr && !can_accept_sgpr)
667 unsigned sgpr[] = {0, 0};
672 if (op.hasRegClass() && op.regClass().type() == RegType::sgpr) {
674 if (op.tempId() != sgpr[0] && op.tempId() != sgpr[1]) {
676 sgpr[num_sgprs++] = op.tempId();
900 op.getTemp().type() == RegType::sgpr)) {
1019 if (info.is_temp() && info.temp.type() == RegType::sgpr && can_apply_sgprs(ctx, instr) &&
1808 if (op[1].type() == RegType::sgpr)
1810 unsigned num_sgprs = (op[0].type() == RegType::sgpr) + (op[1].type() == RegType::sgpr);
2710 if (instr->operands[i].getTemp().type() == RegType::sgpr) {
2715 if (is_copy_label(ctx, instr, info) && info.temp.type() == RegType::sgpr)
2717 if (info.is_extract() && info.instr->operands[0].getTemp().type() == RegType::sgpr)
2733 /* choose a sgpr */
2753 Temp sgpr = info.is_extract() ? info.instr->operands[0].getTemp() : info.temp;
2754 bool new_sgpr = sgpr.id() != sgpr_ids[0] && sgpr.id() != sgpr_ids[1];
2768 instr->operands[sgpr_idx] = Operand(sgpr);
2771 instr->operands[0] = Operand(sgpr);
2777 instr->operands[sgpr_idx] = Operand(sgpr);
2783 sgpr_ids[num_sgprs++] = sgpr.id();
2785 ctx.uses[sgpr.id()]++;
2788 if ((ctx.info[sgpr.id()].label & (label_extract | label_temp)) &&
2789 ctx.info[sgpr.id()].temp.type() == RegType::sgpr)
3261 instr->operands[i].getTemp().type() == RegType::sgpr) &&
3734 /* if one of the operands is sgpr, we cannot add a literal somewhere else on pre-GFX10
3736 if (instr->operands[i].getTemp().type() == RegType::sgpr &&
3867 if (instr->isVALU() && op.isTemp() && op.getTemp().type() == RegType::sgpr &&
3882 is_literal_sgpr = op.getTemp().type() == RegType::sgpr;
3992 /* 2. Combine v_mad, omod, clamp and propagate sgpr on VALU instructions */