Lines Matching defs:clamp

66  * (2) The second pass combines instructions like mad, omod, clamp and
89 /* label_{abs,neg,mul,omod2,omod4,omod5,clamp} are used for both 16 and
1780 if (vop3 && (vop3->abs[!i] || vop3->neg[!i] || vop3->clamp || vop3->omod))
1825 case aco_opcode::v_med3_f32: { /* clamp */
2247 new_vop3->clamp = cmp_vop3.clamp;
2372 new_vop3->clamp = cmp_vop3.clamp;
2423 new_vop3->clamp = cmp_vop3.clamp;
2435 new_sdwa->clamp = cmp_sdwa.clamp;
2496 /* don't support inbetween clamp/omod */
2497 if (op2_vop3 && (op2_vop3->clamp || op2_vop3->omod))
2501 *op1_clamp = op1_vop3 ? op1_vop3->clamp : false;
2549 Operand operands[3], bool neg[3], bool abs[3], uint8_t opsel, bool clamp,
2555 new_instr->clamp = clamp;
2576 bool neg[3], abs[3], clamp, precise;
2579 abs, &opsel, &clamp, &omod, NULL, NULL, NULL, &precise)) {
2581 create_vop3_for_op3(ctx, new_op, instr, operands, neg, abs, opsel, clamp, omod);
2646 bool clamp = false;
2648 clamp = instr->vop3().clamp;
2651 create_vop3_for_op3(ctx, op, instr, operands, neg, abs, opsel, clamp, omod);
2669 bool neg[3], abs[3], clamp, precise;
2673 abs, &opsel, &clamp, &omod, &inbetween_neg, NULL, NULL, &precise) &&
2678 create_vop3_for_op3(ctx, minmax3, instr, operands, neg, abs, opsel, clamp, omod);
2931 /* TODO: GLSL's clamp(x, minVal, maxVal) and SPIR-V's
2944 bool neg[3], abs[3], clamp, precise;
2947 abs, &opsel, &clamp, &omod, NULL, NULL, NULL, &precise)) {
3039 create_vop3_for_op3(ctx, med, instr, operands, neg, abs, opsel, clamp, omod);
3152 if (!def_info.is_clamp() && (instr->clamp || instr->omod))
3162 instr->clamp = true;
3167 /* apply omod / clamp modifiers if the def is used only once and the instruction can have modifiers */
3195 /* if the omod/clamp instruction is dead, then the single user of this
3211 instr->vop3p().clamp = true;
3451 /* apply clamp */
3453 vop3p->clamp && instr->operands[0].isTemp() && ctx.uses[instr->operands[0].tempId()] == 1 &&
3459 candidate->clamp = true;
3491 if (fneg->clamp)
3542 /* no clamp allowed between mul and add */
3543 if (info.instr->vop3p().clamp)
3578 fma->clamp = vop3p->clamp;
3657 vop3p->clamp = instr->isVOP3() && instr->vop3().clamp;
3710 conv->sdwa().clamp || conv->sdwa().omod)) {
3712 } else if (conv->isVOP3() && (conv->vop3().clamp || conv->vop3().omod)) {
3867 if (mul_instr->isVOP3() && mul_instr->vop3().clamp)
3901 new_mul.clamp = false;
3931 /* no clamp/omod allowed between mul and add */
3932 if (info.instr->isVOP3() && (info.instr->vop3().clamp || info.instr->vop3().omod))
3934 if (info.instr->isVOP3P() && info.instr->vop3p().clamp)
4007 bool clamp = false;
4032 clamp = vop3.clamp;
4048 clamp = vop3p.clamp;
4079 mad->clamp = clamp;
4106 mad->clamp = clamp;
4804 /* 2. Combine v_mad, omod, clamp and propagate sgpr on VALU instructions */