Lines Matching refs:instr

397   explicit NullCheckSlowPathARM64(HNullCheck* instr) : SlowPathCodeARM64(instr) {}  in NullCheckSlowPathARM64()  argument
1955 void LocationsBuilderARM64::HandleBinaryOp(HBinaryOperation* instr) { in HandleBinaryOp() argument
1956 DCHECK_EQ(instr->InputCount(), 2U); in HandleBinaryOp()
1957 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instr); in HandleBinaryOp()
1958 DataType::Type type = instr->GetResultType(); in HandleBinaryOp()
1963 locations->SetInAt(1, ARM64EncodableConstantOrRegister(instr->InputAt(1), instr)); in HandleBinaryOp()
1975 LOG(FATAL) << "Unexpected " << instr->DebugName() << " type " << type; in HandleBinaryOp()
2117 void InstructionCodeGeneratorARM64::HandleBinaryOp(HBinaryOperation* instr) { in HandleBinaryOp() argument
2118 DataType::Type type = instr->GetType(); in HandleBinaryOp()
2123 Register dst = OutputRegister(instr); in HandleBinaryOp()
2124 Register lhs = InputRegisterAt(instr, 0); in HandleBinaryOp()
2125 Operand rhs = InputOperandAt(instr, 1); in HandleBinaryOp()
2126 if (instr->IsAdd()) { in HandleBinaryOp()
2128 } else if (instr->IsAnd()) { in HandleBinaryOp()
2130 } else if (instr->IsOr()) { in HandleBinaryOp()
2132 } else if (instr->IsSub()) { in HandleBinaryOp()
2134 } else if (instr->IsRor()) { in HandleBinaryOp()
2143 __ Ror(dst, lhs, RegisterFrom(instr->GetLocations()->InAt(1), type)); in HandleBinaryOp()
2145 } else if (instr->IsMin() || instr->IsMax()) { in HandleBinaryOp()
2147 __ Csel(dst, lhs, rhs, instr->IsMin() ? lt : gt); in HandleBinaryOp()
2149 DCHECK(instr->IsXor()); in HandleBinaryOp()
2156 VRegister dst = OutputFPRegister(instr); in HandleBinaryOp()
2157 VRegister lhs = InputFPRegisterAt(instr, 0); in HandleBinaryOp()
2158 VRegister rhs = InputFPRegisterAt(instr, 1); in HandleBinaryOp()
2159 if (instr->IsAdd()) { in HandleBinaryOp()
2161 } else if (instr->IsSub()) { in HandleBinaryOp()
2163 } else if (instr->IsMin()) { in HandleBinaryOp()
2165 } else if (instr->IsMax()) { in HandleBinaryOp()
2177 void LocationsBuilderARM64::HandleShift(HBinaryOperation* instr) { in HandleShift() argument
2178 DCHECK(instr->IsShl() || instr->IsShr() || instr->IsUShr()); in HandleShift()
2180 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instr); in HandleShift()
2181 DataType::Type type = instr->GetResultType(); in HandleShift()
2186 locations->SetInAt(1, Location::RegisterOrConstant(instr->InputAt(1))); in HandleShift()
2195 void InstructionCodeGeneratorARM64::HandleShift(HBinaryOperation* instr) { in HandleShift() argument
2196 DCHECK(instr->IsShl() || instr->IsShr() || instr->IsUShr()); in HandleShift()
2198 DataType::Type type = instr->GetType(); in HandleShift()
2202 Register dst = OutputRegister(instr); in HandleShift()
2203 Register lhs = InputRegisterAt(instr, 0); in HandleShift()
2204 Operand rhs = InputOperandAt(instr, 1); in HandleShift()
2208 if (instr->IsShl()) { in HandleShift()
2210 } else if (instr->IsShr()) { in HandleShift()
2218 if (instr->IsShl()) { in HandleShift()
2220 } else if (instr->IsShr()) { in HandleShift()
2249 void LocationsBuilderARM64::VisitBitwiseNegatedRight(HBitwiseNegatedRight* instr) { in VisitBitwiseNegatedRight() argument
2250 DCHECK(DataType::IsIntegralType(instr->GetType())) << instr->GetType(); in VisitBitwiseNegatedRight()
2251 LocationSummary* locations = new (GetGraph()->GetAllocator()) LocationSummary(instr); in VisitBitwiseNegatedRight()
2258 void InstructionCodeGeneratorARM64::VisitBitwiseNegatedRight(HBitwiseNegatedRight* instr) { in VisitBitwiseNegatedRight() argument
2259 Register dst = OutputRegister(instr); in VisitBitwiseNegatedRight()
2260 Register lhs = InputRegisterAt(instr, 0); in VisitBitwiseNegatedRight()
2261 Register rhs = InputRegisterAt(instr, 1); in VisitBitwiseNegatedRight()
2263 switch (instr->GetOpKind()) { in VisitBitwiseNegatedRight()
2398 void LocationsBuilderARM64::VisitMultiplyAccumulate(HMultiplyAccumulate* instr) { in VisitMultiplyAccumulate() argument
2400 new (GetGraph()->GetAllocator()) LocationSummary(instr, LocationSummary::kNoCall); in VisitMultiplyAccumulate()
2401 HInstruction* accumulator = instr->InputAt(HMultiplyAccumulate::kInputAccumulatorIndex); in VisitMultiplyAccumulate()
2402 if (instr->GetOpKind() == HInstruction::kSub && in VisitMultiplyAccumulate()
2415 void InstructionCodeGeneratorARM64::VisitMultiplyAccumulate(HMultiplyAccumulate* instr) { in VisitMultiplyAccumulate() argument
2416 Register res = OutputRegister(instr); in VisitMultiplyAccumulate()
2417 Register mul_left = InputRegisterAt(instr, HMultiplyAccumulate::kInputMulLeftIndex); in VisitMultiplyAccumulate()
2418 Register mul_right = InputRegisterAt(instr, HMultiplyAccumulate::kInputMulRightIndex); in VisitMultiplyAccumulate()
2423 if (instr->GetType() == DataType::Type::kInt64 && in VisitMultiplyAccumulate()
2435 if (instr->GetOpKind() == HInstruction::kAdd) { in VisitMultiplyAccumulate()
2436 Register accumulator = InputRegisterAt(instr, HMultiplyAccumulate::kInputAccumulatorIndex); in VisitMultiplyAccumulate()
2439 DCHECK(instr->GetOpKind() == HInstruction::kSub); in VisitMultiplyAccumulate()
2440 HInstruction* accum_instr = instr->InputAt(HMultiplyAccumulate::kInputAccumulatorIndex); in VisitMultiplyAccumulate()
2444 Register accumulator = InputRegisterAt(instr, HMultiplyAccumulate::kInputAccumulatorIndex); in VisitMultiplyAccumulate()