Lines Matching refs:a

220 static bool IsNarrowerOperands(HInstruction* a,  in IsNarrowerOperands()  argument
226 DCHECK(a != nullptr && b != nullptr); in IsNarrowerOperands()
229 if (IsSignExtensionAndGet(a, stype, r) && IsSignExtensionAndGet(b, stype, s)) { in IsNarrowerOperands()
235 if (IsZeroExtensionAndGet(a, utype, r) && IsZeroExtensionAndGet(b, utype, s)) { in IsNarrowerOperands()
243 static bool IsNarrowerOperand(HInstruction* a, in IsNarrowerOperand() argument
247 DCHECK(a != nullptr); in IsNarrowerOperand()
250 if (IsSignExtensionAndGet(a, stype, r)) { in IsNarrowerOperand()
256 if (IsZeroExtensionAndGet(a, utype, r)) { in IsNarrowerOperand()
273 /*out*/ HInstruction** a, in IsAddConst() argument
281 return IsAddConst(instruction->InputAt(0), a, b, c, depth - 1) && in IsAddConst()
282 IsAddConst(instruction->InputAt(1), a, b, c, depth - 1); in IsAddConst()
286 return IsAddConst(instruction->InputAt(0), a, b, c, depth - 1); in IsAddConst()
293 } else if (*a == nullptr) { in IsAddConst()
294 *a = instruction; in IsAddConst()
306 /*out*/ HInstruction** a, in IsAddConst2() argument
310 if (IsAddOrSub(instruction) && IsAddConst(instruction, a, b, c) && *a != nullptr) { in IsAddConst2()
324 /*out*/ HInstruction** a, in IsSubConst2() argument
328 *a = instruction->InputAt(0); in IsSubConst2()
331 } else if (IsAddConst(instruction, a, b, &c) && *a != nullptr && *b == nullptr) { in IsSubConst2()
440 static DataType::Type GetNarrowerType(HInstruction* a, HInstruction* b) { in GetNarrowerType() argument
441 DataType::Type type = a->GetType(); in GetNarrowerType()
445 if (a->IsTypeConversion() && in GetNarrowerType()
446 DataType::Size(a->InputAt(0)->GetType()) < DataType::Size(type)) { in GetNarrowerType()
447 type = a->InputAt(0)->GetType(); in GetNarrowerType()
970 HInstruction* a = i->base; in ShouldVectorize() local
974 if (a == b) { in ShouldVectorize()
992 vector_runtime_test_a_ = a; in ShouldVectorize()
994 } else if ((vector_runtime_test_a_ != a || vector_runtime_test_b_ != b) && in ShouldVectorize()
995 (vector_runtime_test_a_ != b || vector_runtime_test_b_ != a)) { in ShouldVectorize()
1975 HInstruction* a = nullptr; in VectorizeHalvingAddIdiom() local
1978 if (IsAddConst2(graph_, instruction->InputAt(0), /*out*/ &a, /*out*/ &b, /*out*/ &c)) { in VectorizeHalvingAddIdiom()
1990 if (!IsNarrowerOperands(a, b, type, &r, &s, &is_unsigned)) { in VectorizeHalvingAddIdiom()
2048 HInstruction* a = nullptr; in VectorizeSADIdiom() local
2052 IsSubConst2(graph_, abs->InputAt(0), /*out*/ &a, /*out*/ &b)) { in VectorizeSADIdiom()
2053 DCHECK(a != nullptr && b != nullptr); in VectorizeSADIdiom()
2060 HInstruction* r = a; in VectorizeSADIdiom()
2063 DataType::Type sub_type = GetNarrowerType(a, b); in VectorizeSADIdiom()
2065 (!IsNarrowerOperands(a, b, sub_type, &r, &s, &is_unsigned) || is_unsigned)) { in VectorizeSADIdiom()