summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/ARM64/ARM64Subtarget.h
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Target/ARM64/ARM64Subtarget.h')
-rw-r--r--llvm/lib/Target/ARM64/ARM64Subtarget.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM64/ARM64Subtarget.h b/llvm/lib/Target/ARM64/ARM64Subtarget.h
index 1cbd79e9693..584c41be07c 100644
--- a/llvm/lib/Target/ARM64/ARM64Subtarget.h
+++ b/llvm/lib/Target/ARM64/ARM64Subtarget.h
@@ -27,6 +27,15 @@ class StringRef;
class ARM64Subtarget : public ARM64GenSubtargetInfo {
protected:
+ enum ARMProcFamilyEnum {Others, CortexA53, CortexA57, Cyclone};
+
+ /// ARMProcFamily - ARM processor family: Cortex-A53, Cortex-A57, and others.
+ ARMProcFamilyEnum ARMProcFamily;
+
+ bool HasFPARMv8;
+ bool HasNEON;
+ bool HasCrypto;
+
// HasZeroCycleRegMove - Has zero-cycle register mov instructions.
bool HasZeroCycleRegMove;
@@ -51,6 +60,10 @@ public:
bool hasZeroCycleZeroing() const { return HasZeroCycleZeroing; }
+ bool hasFPARMv8() const { return HasFPARMv8; }
+ bool hasNEON() const { return HasNEON; }
+ bool hasCrypto() const { return HasCrypto; }
+
bool isTargetDarwin() const { return TargetTriple.isOSDarwin(); }
bool isTargetELF() const { return TargetTriple.isOSBinFormatELF(); }
OpenPOWER on IntegriCloud