Lines Matching defs:mul2
906 ConstantFolding::tryCollapseChainedMULs(Instruction *mul2,
911 Instruction *mul1 = NULL; // mul1 before mul2
913 float f = imm2.reg.data.f32 * exp2f(mul2->postFactor);
916 assert(mul2->op == OP_MUL && mul2->dType == TYPE_F32);
918 if (mul2->getSrc(t)->refCount() == 1) {
919 insn = mul2->getSrc(t)->getInsn();
920 if (!mul2->src(t).mod && insn->op == OP_MUL && insn->dType == TYPE_F32)
932 mul2->def(0).replace(mul1->getDef(0), false);
933 mul1->saturate = mul2->saturate;
939 mul2->def(0).replace(mul1->getDef(0), false);
942 mul1->saturate = mul2->saturate;
947 if (mul2->getDef(0)->refCount() == 1 && !mul2->saturate) {
951 insn = (*mul2->getDef(0)->uses.begin())->getInsn();
954 mul1 = mul2;
955 mul2 = NULL;
960 mul2 = insn;
961 if (mul2 && prog->getTarget()->isPostMultiplySupported(OP_MUL, f, e)) {
962 mul2->postFactor = e;
963 mul2->setSrc(s2, mul1->src(t));
965 mul2->src(s2).mod *= Modifier(NV50_IR_MOD_NEG);