Lines Matching defs:abs
1270 int32_t l = util_logbase2(static_cast<unsigned>(abs(d)));
1271 if ((1 << l) < abs(d))
1275 m = ((uint64_t)1 << (32 + l - 1)) / abs(d) + 1 - ((uint64_t)1 << 32);
1311 Value *abs = bld.mkOp1v(OP_ABS, TYPE_S32, bld.getSSA(), i->getSrc(0));
1316 Value *mod = bld.mkOp2v(OP_AND, TYPE_U32, bld.getSSA(), abs,
1765 if ((i->op == OP_ABS) || i->src(s).mod.abs()) {
1766 // abs neg [abs] = abs
1772 // neg neg abs = abs, neg neg = identity
1831 AlgebraicOpt::handleABS(Instruction *abs)
1833 Instruction *sub = abs->getSrc(0)->getInsn();
1836 !prog->getTarget()->isOpSupported(OP_SAD, abs->dType))
1840 if (abs->dType != abs->sType || ty != abs->sType)
1864 abs->moveSources(1, 2); // move sources >=1 up by 2
1865 abs->op = OP_SAD;
1866 abs->setType(sub->dType);
1867 abs->setSrc(0, src0);
1868 abs->setSrc(1, src1);
1869 bld.setPosition(abs, false);
1870 abs->setSrc(2, bld.loadImm(bld.getSSA(typeSizeof(ty)), 0));
1977 // min(x, -x) = -abs(x)
1978 // min(x, -abs(x)) = -abs(x)
1979 // min(x, abs(x)) = x
1980 // max(x, -abs(x)) = x
1981 // max(x, abs(x)) = abs(x)
1982 // max(x, -x) = abs(x)