Lines Matching refs:constant
241 inline bool Arm64CanEncodeConstantAsImmediate(HConstant* constant, HInstruction* instr) { in Arm64CanEncodeConstantAsImmediate() argument
242 int64_t value = CodeGenerator::GetInt64ValueOf(constant); in Arm64CanEncodeConstantAsImmediate()
246 if (constant->IsLongConstant()) { in Arm64CanEncodeConstantAsImmediate()
248 } else if (constant->IsFloatConstant()) { in Arm64CanEncodeConstantAsImmediate()
249 return vixl::aarch64::Assembler::IsImmFP32(constant->AsFloatConstant()->GetValue()); in Arm64CanEncodeConstantAsImmediate()
250 } else if (constant->IsDoubleConstant()) { in Arm64CanEncodeConstantAsImmediate()
251 return vixl::aarch64::Assembler::IsImmFP64(constant->AsDoubleConstant()->GetValue()); in Arm64CanEncodeConstantAsImmediate()
260 if (constant->GetUses().HasExactlyOneElement()) { in Arm64CanEncodeConstantAsImmediate()
267 return constant->IsZeroBitPattern() || constant->IsOne() || constant->IsMinusOne(); in Arm64CanEncodeConstantAsImmediate()
272 if (constant->GetUses().HasExactlyOneElement()) { in Arm64CanEncodeConstantAsImmediate()
300 inline Location ARM64EncodableConstantOrRegister(HInstruction* constant, in ARM64EncodableConstantOrRegister() argument
302 if (constant->IsConstant() in ARM64EncodableConstantOrRegister()
303 && Arm64CanEncodeConstantAsImmediate(constant->AsConstant(), instr)) { in ARM64EncodableConstantOrRegister()
304 return Location::ConstantLocation(constant->AsConstant()); in ARM64EncodableConstantOrRegister()