Lines Matching refs:result_type
788 static bool IsTypeConversionImplicit(Primitive::Type input_type, Primitive::Type result_type) {
790 DCHECK_NE(Primitive::kPrimBoolean, result_type);
795 return result_type == input_type ||
796 (result_type == Primitive::kPrimInt && (input_type == Primitive::kPrimBoolean ||
800 (result_type == Primitive::kPrimChar && input_type == Primitive::kPrimBoolean) ||
801 (result_type == Primitive::kPrimShort && (input_type == Primitive::kPrimBoolean ||
803 (result_type == Primitive::kPrimByte && input_type == Primitive::kPrimBoolean);
806 static bool IsTypeConversionLossless(Primitive::Type input_type, Primitive::Type result_type) {
811 DCHECK_NE(input_type, result_type);
812 return Primitive::ComponentSize(result_type) > Primitive::ComponentSize(input_type) &&
813 result_type != Primitive::kPrimChar &&
814 !(result_type == Primitive::kPrimLong && input_type == Primitive::kPrimFloat);
820 Primitive::Type result_type = instruction->GetResultType();
821 if (IsTypeConversionImplicit(input_type, result_type)) {
845 Primitive::IsIntegralType(result_type) &&
846 Primitive::ComponentSize(result_type) <= Primitive::ComponentSize(input_type);
850 if (IsTypeConversionImplicit(original_type, result_type)) {
868 } else if (input->IsAnd() && Primitive::IsIntegralType(result_type)) {
876 if (trailing_ones >= kBitsPerByte * Primitive::ComponentSize(result_type)) {
879 if (IsTypeConversionImplicit(original_input->GetType(), result_type)) {