Lines Matching refs:binop

62   bool TryMoveNegOnInputsAfterBinop(HBinaryOperation* binop);
186 bool InstructionSimplifierVisitor::TryMoveNegOnInputsAfterBinop(HBinaryOperation* binop) { in TryMoveNegOnInputsAfterBinop() argument
187 DCHECK(binop->IsAdd() || binop->IsSub()); in TryMoveNegOnInputsAfterBinop()
188 DCHECK(binop->GetLeft()->IsNeg() && binop->GetRight()->IsNeg()); in TryMoveNegOnInputsAfterBinop()
189 HNeg* left_neg = binop->GetLeft()->AsNeg(); in TryMoveNegOnInputsAfterBinop()
190 HNeg* right_neg = binop->GetRight()->AsNeg(); in TryMoveNegOnInputsAfterBinop()
205 if (!DataType::IsIntegralType(binop->GetType())) { in TryMoveNegOnInputsAfterBinop()
208 binop->ReplaceInput(left_neg->GetInput(), 0); in TryMoveNegOnInputsAfterBinop()
209 binop->ReplaceInput(right_neg->GetInput(), 1); in TryMoveNegOnInputsAfterBinop()
212 HNeg* neg = new (GetGraph()->GetAllocator()) HNeg(binop->GetType(), binop); in TryMoveNegOnInputsAfterBinop()
213 binop->GetBlock()->InsertInstructionBefore(neg, binop->GetNext()); in TryMoveNegOnInputsAfterBinop()
214 binop->ReplaceWithExceptInReplacementAtIndex(neg, 0); in TryMoveNegOnInputsAfterBinop()
306 HVecBinaryOperation* binop = use->AsVecBinaryOperation(); in TryCombineVecMultiplyAccumulate() local
307 HInstruction* binop_left = binop->GetLeft(); in TryCombineVecMultiplyAccumulate()
308 HInstruction* binop_right = binop->GetRight(); in TryCombineVecMultiplyAccumulate()
327 binop->GetPackedType(), in TryCombineVecMultiplyAccumulate()
328 binop->GetVectorLength(), in TryCombineVecMultiplyAccumulate()
329 binop->GetDexPc()); in TryCombineVecMultiplyAccumulate()
331 binop->GetBlock()->ReplaceAndRemoveInstructionWith(binop, mulacc); in TryCombineVecMultiplyAccumulate()
2825 static HBinaryOperation* AsAddOrSub(HInstruction* binop) { in AsAddOrSub() argument
2826 return (binop->IsAdd() || binop->IsSub()) ? binop->AsBinaryOperation() : nullptr; in AsAddOrSub()