Lines Matching refs:restrictions

365 static bool HasVectorRestrictions(uint64_t restrictions, uint64_t tested) {  in HasVectorRestrictions()  argument
366 return (restrictions & tested) != 0; in HasVectorRestrictions()
1316 uint64_t restrictions = kNone; in VectorizeDef() local
1330 restrictions |= kNoHiBits; in VectorizeDef()
1332 if (TrySetVectorType(type, &restrictions) && in VectorizeDef()
1335 VectorizeUse(node, value, generate_code, type, restrictions)) { in VectorizeDef()
1353 if (VectorizeSADIdiom(node, instruction, generate_code, type, restrictions) || in VectorizeDef()
1354 VectorizeDotProdIdiom(node, instruction, generate_code, type, restrictions) || in VectorizeDef()
1355 (TrySetVectorType(type, &restrictions) && in VectorizeDef()
1356 VectorizeUse(node, instruction, generate_code, type, restrictions))) { in VectorizeDef()
1380 uint64_t restrictions) { in VectorizeUse() argument
1400 if (is_string_char_at && (HasVectorRestrictions(restrictions, kNoStringCharAt) || in VectorizeUse()
1428 if (HasVectorRestrictions(restrictions, kNoReduction)) { in VectorizeUse()
1455 VectorizeUse(node, opa, generate_code, type, restrictions | kNoHiBits)) || in VectorizeUse()
1458 VectorizeUse(node, opa, generate_code, type, restrictions))) { in VectorizeUse()
1473 if (TrySetVectorType(from, &restrictions) && in VectorizeUse()
1474 VectorizeUse(node, opa, generate_code, from, restrictions)) { in VectorizeUse()
1485 if (VectorizeUse(node, opa, generate_code, type, restrictions)) { in VectorizeUse()
1495 if ((instruction->IsMul() && HasVectorRestrictions(restrictions, kNoMul)) || in VectorizeUse()
1496 (instruction->IsDiv() && HasVectorRestrictions(restrictions, kNoDiv))) { in VectorizeUse()
1502 if (VectorizeUse(node, opa, generate_code, type, restrictions) && in VectorizeUse()
1503 VectorizeUse(node, opb, generate_code, type, restrictions)) { in VectorizeUse()
1511 if (VectorizeHalvingAddIdiom(node, instruction, generate_code, type, restrictions)) { in VectorizeUse()
1519 if ((HasVectorRestrictions(restrictions, kNoShift)) || in VectorizeUse()
1520 (instruction->IsShr() && HasVectorRestrictions(restrictions, kNoShr))) { in VectorizeUse()
1522 } else if (HasVectorRestrictions(restrictions, kNoHiBits)) { in VectorizeUse()
1540 if (VectorizeUse(node, r, generate_code, type, restrictions) && in VectorizeUse()
1556 if (HasVectorRestrictions(restrictions, kNoAbs)) { in VectorizeUse()
1558 } else if (HasVectorRestrictions(restrictions, kNoHiBits) && in VectorizeUse()
1567 if (VectorizeUse(node, r, generate_code, type, restrictions)) { in VectorizeUse()
1584 bool HLoopOptimization::TrySetVectorType(DataType::Type type, uint64_t* restrictions) { in TrySetVectorType() argument
1595 *restrictions |= kNoDiv | kNoReduction | kNoDotProd; in TrySetVectorType()
1599 *restrictions |= kNoDiv | kNoStringCharAt | kNoReduction | kNoDotProd; in TrySetVectorType()
1602 *restrictions |= kNoDiv | kNoWideSAD; in TrySetVectorType()
1618 *restrictions |= kNoDiv | in TrySetVectorType()
1626 *restrictions |= kNoDiv | in TrySetVectorType()
1634 *restrictions |= kNoDiv | kNoSAD; in TrySetVectorType()
1637 *restrictions |= kNoDiv | kNoSAD; in TrySetVectorType()
1640 *restrictions |= kNoReduction; in TrySetVectorType()
1643 *restrictions |= kNoReduction; in TrySetVectorType()
1656 *restrictions |= kNoDiv; in TrySetVectorType()
1660 *restrictions |= kNoDiv; in TrySetVectorType()
1663 *restrictions |= kNoDiv; in TrySetVectorType()
1666 *restrictions |= kNoDiv | kNoMul; in TrySetVectorType()
1669 *restrictions |= kNoReduction; in TrySetVectorType()
1672 *restrictions |= kNoReduction; in TrySetVectorType()
1687 *restrictions |= kNoMul | in TrySetVectorType()
1697 *restrictions |= kNoDiv | in TrySetVectorType()
1705 *restrictions |= kNoDiv | in TrySetVectorType()
1712 *restrictions |= kNoDiv | kNoSAD; in TrySetVectorType()
1715 *restrictions |= kNoMul | kNoDiv | kNoShr | kNoAbs | kNoSAD; in TrySetVectorType()
1718 *restrictions |= kNoReduction; in TrySetVectorType()
1721 *restrictions |= kNoReduction; in TrySetVectorType()
2070 uint64_t restrictions) { in VectorizeHalvingAddIdiom() argument
2097 if ((is_unsigned && HasVectorRestrictions(restrictions, kNoUnsignedHAdd)) || in VectorizeHalvingAddIdiom()
2098 (!is_unsigned && HasVectorRestrictions(restrictions, kNoSignedHAdd)) || in VectorizeHalvingAddIdiom()
2099 (!is_rounded && HasVectorRestrictions(restrictions, kNoUnroundedHAdd))) { in VectorizeHalvingAddIdiom()
2109 if (VectorizeUse(node, r, generate_code, type, restrictions) && in VectorizeHalvingAddIdiom()
2110 VectorizeUse(node, s, generate_code, type, restrictions)) { in VectorizeHalvingAddIdiom()
2143 uint64_t restrictions) { in VectorizeSADIdiom() argument
2173 if (!TrySetVectorType(sub_type, &restrictions) || in VectorizeSADIdiom()
2174 HasVectorRestrictions(restrictions, kNoSAD) || in VectorizeSADIdiom()
2175 (reduction_type != sub_type && HasVectorRestrictions(restrictions, kNoWideSAD))) { in VectorizeSADIdiom()
2184 if (VectorizeUse(node, acc, generate_code, sub_type, restrictions) && in VectorizeSADIdiom()
2185 VectorizeUse(node, r, generate_code, sub_type, restrictions) && in VectorizeSADIdiom()
2186 VectorizeUse(node, s, generate_code, sub_type, restrictions)) { in VectorizeSADIdiom()
2223 uint64_t restrictions) { in VectorizeDotProdIdiom() argument
2246 if (!TrySetVectorType(op_type, &restrictions) || in VectorizeDotProdIdiom()
2247 HasVectorRestrictions(restrictions, kNoDotProd)) { in VectorizeDotProdIdiom()
2258 if (VectorizeUse(node, acc, generate_code, op_type, restrictions) && in VectorizeDotProdIdiom()
2259 VectorizeUse(node, r, generate_code, op_type, restrictions) && in VectorizeDotProdIdiom()
2260 VectorizeUse(node, s, generate_code, op_type, restrictions)) { in VectorizeDotProdIdiom()