diff options
author | Tim Northover <tnorthover@apple.com> | 2014-04-01 13:22:02 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2014-04-01 13:22:02 +0000 |
commit | 1351030801098e15e6781c67132ea23e55aed77a (patch) | |
tree | 3f89b8f57f2eff6429827d7cd5c0e4d5f2b0e5f9 /llvm/lib/Target/ARM/ARMSubtarget.h | |
parent | 56b6ee9833137e0e79667f8e4378895fed5dc2c2 (diff) | |
download | bcm5719-llvm-1351030801098e15e6781c67132ea23e55aed77a.tar.gz bcm5719-llvm-1351030801098e15e6781c67132ea23e55aed77a.zip |
ARM: add cyclone CPU with ZeroCycleZeroing feature.
The Cyclone CPU is similar to swift for most LLVM purposes, but does have two
preferred instructions for zeroing a VFP register. This teaches LLVM about
them.
llvm-svn: 205309
Diffstat (limited to 'llvm/lib/Target/ARM/ARMSubtarget.h')
-rw-r--r-- | llvm/lib/Target/ARM/ARMSubtarget.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMSubtarget.h b/llvm/lib/Target/ARM/ARMSubtarget.h index 2ce99c890f7..e76cc85a1aa 100644 --- a/llvm/lib/Target/ARM/ARMSubtarget.h +++ b/llvm/lib/Target/ARM/ARMSubtarget.h @@ -177,6 +177,10 @@ protected: /// HasCRC - if true, processor supports CRC instructions bool HasCRC; + /// If true, the instructions "vmov.i32 d0, #0" and "vmov.i32 q0, #0" are + /// particularly effective at zeroing a VFP register. + bool HasZeroCycleZeroing; + /// AllowsUnalignedMem - If true, the subtarget allows unaligned memory /// accesses for some types. For details, see /// ARMTargetLowering::allowsUnalignedMemoryAccesses(). @@ -298,6 +302,7 @@ public: bool isFPOnlySP() const { return FPOnlySP; } bool hasPerfMon() const { return HasPerfMon; } bool hasTrustZone() const { return HasTrustZone; } + bool hasZeroCycleZeroing() const { return HasZeroCycleZeroing; } bool prefers32BitThumb() const { return Pref32BitThumb; } bool avoidCPSRPartialUpdate() const { return AvoidCPSRPartialUpdate; } bool avoidMOVsShifterOperand() const { return AvoidMOVsShifterOperand; } |