| Index: runtime/vm/cpu_arm.cc
|
| diff --git a/runtime/vm/cpu_arm.cc b/runtime/vm/cpu_arm.cc
|
| index be88185732377e453eb3b18911ac650540fc6fc3..a0e31a9f03fb5a8dd235dedaa9cea9b41874e453 100644
|
| --- a/runtime/vm/cpu_arm.cc
|
| +++ b/runtime/vm/cpu_arm.cc
|
| @@ -199,17 +199,20 @@ void HostCPUFeatures::InitOnce() {
|
| // - Qualcomm Krait CPUs (QCT APQ8064) in Nexus 4 and 7 incorrectly report
|
| // that they lack integer division.
|
| // - Marvell Armada 370/XP incorrectly reports that it has integer division.
|
| + // - The Pixel lacks integer division even though ARMv8 requires it in A32.
|
| bool is_krait = CpuInfo::FieldContains(kCpuInfoHardware, "QCT APQ8064");
|
| bool is_armada_370xp =
|
| CpuInfo::FieldContains(kCpuInfoHardware, "Marvell Armada 370/XP");
|
| + bool is_pixel =
|
| + CpuInfo::FieldContains(kCpuInfoHardware, "MSM8996pro");
|
| if (is_krait) {
|
| integer_division_supported_ = FLAG_use_integer_division;
|
| - } else if (!is_armada_370xp) {
|
| + } else if (is_armada_370xp || is_pixel) {
|
| + integer_division_supported_ = false;
|
| + } else {
|
| integer_division_supported_ =
|
| (CpuInfo::FieldContains(kCpuInfoFeatures, "idiva") || is_arm64) &&
|
| FLAG_use_integer_division;
|
| - } else {
|
| - integer_division_supported_ = false;
|
| }
|
| neon_supported_ =
|
| (CpuInfo::FieldContains(kCpuInfoFeatures, "neon") || is_arm64) &&
|
|
|