Lines Matching refs:restrictions

365 static bool HasVectorRestrictions(uint64_t restrictions, uint64_t tested) {  in HasVectorRestrictions()  argument
366 return (restrictions & tested) != 0; in HasVectorRestrictions()
1280 uint64_t restrictions = kNone; in VectorizeDef() local
1294 restrictions |= kNoHiBits; in VectorizeDef()
1296 if (TrySetVectorType(type, &restrictions) && in VectorizeDef()
1299 VectorizeUse(node, value, generate_code, type, restrictions)) { in VectorizeDef()
1317 if (VectorizeSADIdiom(node, instruction, generate_code, type, restrictions) || in VectorizeDef()
1318 VectorizeDotProdIdiom(node, instruction, generate_code, type, restrictions) || in VectorizeDef()
1319 (TrySetVectorType(type, &restrictions) && in VectorizeDef()
1320 VectorizeUse(node, instruction, generate_code, type, restrictions))) { in VectorizeDef()
1344 uint64_t restrictions) { in VectorizeUse() argument
1363 if (is_string_char_at && HasVectorRestrictions(restrictions, kNoStringCharAt)) { in VectorizeUse()
1389 if (HasVectorRestrictions(restrictions, kNoReduction)) { in VectorizeUse()
1416 VectorizeUse(node, opa, generate_code, type, restrictions | kNoHiBits)) || in VectorizeUse()
1419 VectorizeUse(node, opa, generate_code, type, restrictions))) { in VectorizeUse()
1434 if (TrySetVectorType(from, &restrictions) && in VectorizeUse()
1435 VectorizeUse(node, opa, generate_code, from, restrictions)) { in VectorizeUse()
1446 if (VectorizeUse(node, opa, generate_code, type, restrictions)) { in VectorizeUse()
1456 if ((instruction->IsMul() && HasVectorRestrictions(restrictions, kNoMul)) || in VectorizeUse()
1457 (instruction->IsDiv() && HasVectorRestrictions(restrictions, kNoDiv))) { in VectorizeUse()
1463 if (VectorizeUse(node, opa, generate_code, type, restrictions) && in VectorizeUse()
1464 VectorizeUse(node, opb, generate_code, type, restrictions)) { in VectorizeUse()
1472 if (VectorizeHalvingAddIdiom(node, instruction, generate_code, type, restrictions)) { in VectorizeUse()
1480 if ((HasVectorRestrictions(restrictions, kNoShift)) || in VectorizeUse()
1481 (instruction->IsShr() && HasVectorRestrictions(restrictions, kNoShr))) { in VectorizeUse()
1483 } else if (HasVectorRestrictions(restrictions, kNoHiBits)) { in VectorizeUse()
1501 if (VectorizeUse(node, r, generate_code, type, restrictions) && in VectorizeUse()
1517 if (HasVectorRestrictions(restrictions, kNoAbs)) { in VectorizeUse()
1519 } else if (HasVectorRestrictions(restrictions, kNoHiBits) && in VectorizeUse()
1528 if (VectorizeUse(node, r, generate_code, type, restrictions)) { in VectorizeUse()
1553 bool HLoopOptimization::TrySetVectorType(DataType::Type type, uint64_t* restrictions) { in TrySetVectorType() argument
1564 *restrictions |= kNoDiv | kNoReduction | kNoDotProd; in TrySetVectorType()
1568 *restrictions |= kNoDiv | kNoStringCharAt | kNoReduction | kNoDotProd; in TrySetVectorType()
1571 *restrictions |= kNoDiv | kNoWideSAD; in TrySetVectorType()
1584 *restrictions |= kNoDiv; in TrySetVectorType()
1588 *restrictions |= kNoDiv; in TrySetVectorType()
1591 *restrictions |= kNoDiv; in TrySetVectorType()
1594 *restrictions |= kNoDiv | kNoMul; in TrySetVectorType()
1597 *restrictions |= kNoReduction; in TrySetVectorType()
1600 *restrictions |= kNoReduction; in TrySetVectorType()
1613 *restrictions |= kNoMul | in TrySetVectorType()
1623 *restrictions |= kNoDiv | in TrySetVectorType()
1631 *restrictions |= kNoDiv | in TrySetVectorType()
1638 *restrictions |= kNoDiv | kNoSAD; in TrySetVectorType()
1641 *restrictions |= kNoMul | kNoDiv | kNoShr | kNoAbs | kNoSAD; in TrySetVectorType()
1644 *restrictions |= kNoReduction; in TrySetVectorType()
1647 *restrictions |= kNoReduction; in TrySetVectorType()
1967 uint64_t restrictions) { in VectorizeHalvingAddIdiom() argument
1994 if ((!is_unsigned && HasVectorRestrictions(restrictions, kNoSignedHAdd)) || in VectorizeHalvingAddIdiom()
1995 (!is_rounded && HasVectorRestrictions(restrictions, kNoUnroundedHAdd))) { in VectorizeHalvingAddIdiom()
2005 if (VectorizeUse(node, r, generate_code, type, restrictions) && in VectorizeHalvingAddIdiom()
2006 VectorizeUse(node, s, generate_code, type, restrictions)) { in VectorizeHalvingAddIdiom()
2039 uint64_t restrictions) { in VectorizeSADIdiom() argument
2069 if (!TrySetVectorType(sub_type, &restrictions) || in VectorizeSADIdiom()
2070 HasVectorRestrictions(restrictions, kNoSAD) || in VectorizeSADIdiom()
2071 (reduction_type != sub_type && HasVectorRestrictions(restrictions, kNoWideSAD))) { in VectorizeSADIdiom()
2080 if (VectorizeUse(node, acc, generate_code, sub_type, restrictions) && in VectorizeSADIdiom()
2081 VectorizeUse(node, r, generate_code, sub_type, restrictions) && in VectorizeSADIdiom()
2082 VectorizeUse(node, s, generate_code, sub_type, restrictions)) { in VectorizeSADIdiom()
2119 uint64_t restrictions) { in VectorizeDotProdIdiom() argument
2142 if (!TrySetVectorType(op_type, &restrictions) || in VectorizeDotProdIdiom()
2143 HasVectorRestrictions(restrictions, kNoDotProd)) { in VectorizeDotProdIdiom()
2154 if (VectorizeUse(node, acc, generate_code, op_type, restrictions) && in VectorizeDotProdIdiom()
2155 VectorizeUse(node, r, generate_code, op_type, restrictions) && in VectorizeDotProdIdiom()
2156 VectorizeUse(node, s, generate_code, op_type, restrictions)) { in VectorizeDotProdIdiom()