diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-03-24 22:31:46 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-03-24 22:31:46 +0000 |
commit | bf83ec6ee76e43bf2c9e92d14b2c2c0114c81f43 (patch) | |
tree | 48ab73eca523ba3889720df84425b36b6be252fc /lib/Target/ARM/ARMSubtarget.cpp | |
parent | 144bd6823fbf63e2fb4befcadc3552c8df9b4030 (diff) | |
download | external_llvm-bf83ec6ee76e43bf2c9e92d14b2c2c0114c81f43.zip external_llvm-bf83ec6ee76e43bf2c9e92d14b2c2c0114c81f43.tar.gz external_llvm-bf83ec6ee76e43bf2c9e92d14b2c2c0114c81f43.tar.bz2 |
Make the use of the vmla and vmls VFP instructions controllable via cmd line.
Preliminary testing shows significant performance wins by not using these
instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99436 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMSubtarget.cpp')
-rw-r--r-- | lib/Target/ARM/ARMSubtarget.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMSubtarget.cpp b/lib/Target/ARM/ARMSubtarget.cpp index 2dad7f1..6b4438d 100644 --- a/lib/Target/ARM/ARMSubtarget.cpp +++ b/lib/Target/ARM/ARMSubtarget.cpp @@ -26,6 +26,10 @@ static cl::opt<bool> UseNEONFP("arm-use-neon-fp", cl::desc("Use NEON for single-precision FP"), cl::init(false), cl::Hidden); +static cl::opt<bool> +UseVMLxInstructions("arm-use-vmlx", + cl::desc("Use VFP vmla and vmls instructions"), + cl::init(true), cl::Hidden); static cl::opt<bool> UseMOVT("arm-use-movt", @@ -36,6 +40,7 @@ ARMSubtarget::ARMSubtarget(const std::string &TT, const std::string &FS, : ARMArchVersion(V4) , ARMFPUType(None) , UseNEONForSinglePrecisionFP(UseNEONFP) + , UseVMLx(UseVMLxInstructions) , IsThumb(isT) , ThumbMode(Thumb1) , PostRAScheduler(false) |