diff --git a/lib/Target/ARM/ARMSubtarget.cpp b/lib/Target/ARM/ARMSubtarget.cpp index 6b4438d4c86..8df59e4789e 100644 --- a/lib/Target/ARM/ARMSubtarget.cpp +++ b/lib/Target/ARM/ARMSubtarget.cpp @@ -127,6 +127,12 @@ ARMSubtarget::ARMSubtarget(const std::string &TT, const std::string &FS, // operations with NEON instructions. if (UseNEONFP.getPosition() == 0) UseNEONForSinglePrecisionFP = true; + // The VFP vlma and vlms instructions don't play nicely with others; + // disable them. + // FIXME: This may be true for other variants as well. Get benchmark + // numbers and add them if determined that's the case. + if (UseVMLxInstructions.getPosition() == 0) + UseVMLx = false; } }