summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMSubtarget.h
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2010-10-12 16:22:47 +0000
committerBob Wilson <bob.wilson@apple.com>2010-10-12 16:22:47 +0000
commit77f42b52781b6923924a93b8ab338d183887a592 (patch)
treeea76c3d5ca1c77836b14ee0ca644a8b772c09f98 /lib/Target/ARM/ARMSubtarget.h
parent15418779419923dc9222cd804d409c1878b5e3b1 (diff)
downloadllvm-77f42b52781b6923924a93b8ab338d183887a592.tar.gz
llvm-77f42b52781b6923924a93b8ab338d183887a592.tar.bz2
llvm-77f42b52781b6923924a93b8ab338d183887a592.tar.xz
PR8359: The ARM backend may end up allocating registers D16 to D31 when
"-mattr=+vfp3" is specified. However, this will not work for hardware that only supports 16 registers. Add a new flag to support -"mattr=+vfp3,+d16". Patch by Jan Voung! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116310 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMSubtarget.h')
-rw-r--r--lib/Target/ARM/ARMSubtarget.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMSubtarget.h b/lib/Target/ARM/ARMSubtarget.h
index a946d3d3c8..ca9921eba1 100644
--- a/lib/Target/ARM/ARMSubtarget.h
+++ b/lib/Target/ARM/ARMSubtarget.h
@@ -87,6 +87,10 @@ protected:
/// only so far)
bool HasFP16;
+ /// HasD16 - True if subtarget is limited to 16 double precision
+ /// FP registers for VFPv3.
+ bool HasD16;
+
/// HasHardwareDivide - True if subtarget supports [su]div
bool HasHardwareDivide;
@@ -174,6 +178,7 @@ protected:
bool prefers32BitThumb() const { return Pref32BitThumb; }
bool hasFP16() const { return HasFP16; }
+ bool hasD16() const { return HasD16; }
bool isTargetDarwin() const { return TargetType == isDarwin; }
bool isTargetELF() const { return TargetType == isELF; }