Index: src/arm/assembler-arm.cc |
diff --git a/src/arm/assembler-arm.cc b/src/arm/assembler-arm.cc |
index 1ccc3a6237cb10467980f790f7ff477071b1bb7e..4ab1f5eb64f7eabeaddae679f78583455de6e1de 100644 |
--- a/src/arm/assembler-arm.cc |
+++ b/src/arm/assembler-arm.cc |
@@ -57,7 +57,7 @@ static unsigned CpuFeaturesImpliedByCompiler() { |
answer |= 1u << ARMv8; |
// ARMv8 always features VFP and NEON. |
answer |= 1u << ARMv7 | 1u << VFP3 | 1u << NEON | 1u << VFP32DREGS; |
- answer |= 1u << SUDIV | 1u << MLS; |
+ answer |= 1u << SUDIV; |
} |
#endif // CAN_USE_ARMV8_INSTRUCTIONS |
#ifdef CAN_USE_ARMV7_INSTRUCTIONS |
@@ -93,7 +93,7 @@ void CpuFeatures::ProbeImpl(bool cross_compile) { |
supported_ |= 1u << ARMv8; |
// ARMv8 always features VFP and NEON. |
supported_ |= 1u << ARMv7 | 1u << VFP3 | 1u << NEON | 1u << VFP32DREGS; |
- supported_ |= 1u << SUDIV | 1u << MLS; |
+ supported_ |= 1u << SUDIV; |
if (FLAG_enable_movw_movt) supported_ |= 1u << MOVW_MOVT_IMMEDIATE_LOADS; |
} |
if (FLAG_enable_armv7) { |
@@ -104,7 +104,6 @@ void CpuFeatures::ProbeImpl(bool cross_compile) { |
if (FLAG_enable_movw_movt) supported_ |= 1u << MOVW_MOVT_IMMEDIATE_LOADS; |
if (FLAG_enable_32dregs) supported_ |= 1u << VFP32DREGS; |
} |
- if (FLAG_enable_mls) supported_ |= 1u << MLS; |
if (FLAG_enable_unaligned_accesses) supported_ |= 1u << UNALIGNED_ACCESSES; |
#else // __arm__ |
@@ -119,7 +118,6 @@ void CpuFeatures::ProbeImpl(bool cross_compile) { |
if (FLAG_enable_neon && cpu.has_neon()) supported_ |= 1u << NEON; |
if (FLAG_enable_sudiv && cpu.has_idiva()) supported_ |= 1u << SUDIV; |
- if (FLAG_enable_mls && cpu.has_thumb2()) supported_ |= 1u << MLS; |
if (cpu.architecture() >= 7) { |
if (FLAG_enable_armv7) supported_ |= 1u << ARMv7; |
@@ -203,12 +201,11 @@ void CpuFeatures::PrintTarget() { |
void CpuFeatures::PrintFeatures() { |
printf( |
- "ARMv8=%d ARMv7=%d VFP3=%d VFP32DREGS=%d NEON=%d SUDIV=%d MLS=%d" |
+ "ARMv8=%d ARMv7=%d VFP3=%d VFP32DREGS=%d NEON=%d SUDIV=%d " |
"UNALIGNED_ACCESSES=%d MOVW_MOVT_IMMEDIATE_LOADS=%d", |
CpuFeatures::IsSupported(ARMv8), CpuFeatures::IsSupported(ARMv7), |
CpuFeatures::IsSupported(VFP3), CpuFeatures::IsSupported(VFP32DREGS), |
CpuFeatures::IsSupported(NEON), CpuFeatures::IsSupported(SUDIV), |
- CpuFeatures::IsSupported(MLS), |
CpuFeatures::IsSupported(UNALIGNED_ACCESSES), |
CpuFeatures::IsSupported(MOVW_MOVT_IMMEDIATE_LOADS)); |
#ifdef __arm__ |
@@ -1609,7 +1606,7 @@ void Assembler::mla(Register dst, Register src1, Register src2, Register srcA, |
void Assembler::mls(Register dst, Register src1, Register src2, Register srcA, |
Condition cond) { |
DCHECK(!dst.is(pc) && !src1.is(pc) && !src2.is(pc) && !srcA.is(pc)); |
- DCHECK(IsEnabled(MLS)); |
+ DCHECK(IsEnabled(ARMv7)); |
emit(cond | B22 | B21 | dst.code()*B16 | srcA.code()*B12 | |
src2.code()*B8 | B7 | B4 | src1.code()); |
} |