Lines Matching refs:constant
254 inline bool Arm64CanEncodeConstantAsImmediate(HConstant* constant, HInstruction* instr) { in Arm64CanEncodeConstantAsImmediate() argument
255 int64_t value = CodeGenerator::GetInt64ValueOf(constant); in Arm64CanEncodeConstantAsImmediate()
259 if (constant->IsLongConstant()) { in Arm64CanEncodeConstantAsImmediate()
261 } else if (constant->IsFloatConstant()) { in Arm64CanEncodeConstantAsImmediate()
262 return vixl::aarch64::Assembler::IsImmFP32(constant->AsFloatConstant()->GetValue()); in Arm64CanEncodeConstantAsImmediate()
263 } else if (constant->IsDoubleConstant()) { in Arm64CanEncodeConstantAsImmediate()
264 return vixl::aarch64::Assembler::IsImmFP64(constant->AsDoubleConstant()->GetValue()); in Arm64CanEncodeConstantAsImmediate()
273 if (constant->GetUses().HasExactlyOneElement()) { in Arm64CanEncodeConstantAsImmediate()
280 return constant->IsZeroBitPattern() || constant->IsOne() || constant->IsMinusOne(); in Arm64CanEncodeConstantAsImmediate()
285 if (constant->GetUses().HasExactlyOneElement()) { in Arm64CanEncodeConstantAsImmediate()
313 inline Location ARM64EncodableConstantOrRegister(HInstruction* constant, in ARM64EncodableConstantOrRegister() argument
315 if (constant->IsConstant() in ARM64EncodableConstantOrRegister()
316 && Arm64CanEncodeConstantAsImmediate(constant->AsConstant(), instr)) { in ARM64EncodableConstantOrRegister()
317 return Location::ConstantLocation(constant->AsConstant()); in ARM64EncodableConstantOrRegister()