summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-03-25 20:48:50 +0000
committerJim Grosbach <grosbach@apple.com>2010-03-25 20:48:50 +0000
commit4b3b2ef65c49d0ce340bfd3aab0aa67395b3c3d3 (patch)
tree755bec261c6d353298e77236898959496bc2feba /llvm/lib
parentd82f9002e4fd96442ce338e88ee035eaf538e157 (diff)
downloadbcm5719-llvm-4b3b2ef65c49d0ce340bfd3aab0aa67395b3c3d3.tar.gz
bcm5719-llvm-4b3b2ef65c49d0ce340bfd3aab0aa67395b3c3d3.zip
ARM cortex-a8 doesn't do vmla/vmls well. disable them by default for that cpu
llvm-svn: 99549
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/ARM/ARMSubtarget.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.cpp b/llvm/lib/Target/ARM/ARMSubtarget.cpp
index 6b4438d4c86..8df59e4789e 100644
--- a/llvm/lib/Target/ARM/ARMSubtarget.cpp
+++ b/llvm/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;
}
}
OpenPOWER on IntegriCloud