diff options
| author | James Molloy <james.molloy@arm.com> | 2014-09-15 11:25:38 +0000 |
|---|---|---|
| committer | James Molloy <james.molloy@arm.com> | 2014-09-15 11:25:38 +0000 |
| commit | 0ffb0939316df3f37cb921626be53caa26ee8dd3 (patch) | |
| tree | 3061862a0a03bf2700f8bfb2d09672915ec615f1 /clang/lib/Basic | |
| parent | c58c70e2f37f666faad94ef3bfab6d63eb5b0837 (diff) | |
| download | bcm5719-llvm-0ffb0939316df3f37cb921626be53caa26ee8dd3.tar.gz bcm5719-llvm-0ffb0939316df3f37cb921626be53caa26ee8dd3.zip | |
[ARM] Add ACLE predefines: maxmin, rounding and h/w integer division
Patch by Assad Hashmi!
llvm-svn: 217760
Diffstat (limited to 'clang/lib/Basic')
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 9a307d30ab9..b6bcc84b8f4 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3983,6 +3983,10 @@ public: // __ARM_ARCH is defined as an integer value indicating the current ARM ISA Builder.defineMacro("__ARM_ARCH", CPUArch.substr(0, 1)); + if (CPUArch[0] >= '8') { + Builder.defineMacro("__ARM_FEATURE_NUMERIC_MAXMIN"); + Builder.defineMacro("__ARM_FEATURE_DIRECTED_ROUNDING"); + } // __ARM_ARCH_ISA_ARM is defined to 1 if the core supports the ARM ISA. It // is not defined for the M-profile. @@ -4478,6 +4482,10 @@ public: Builder.defineMacro("__ARM_FEATURE_CLZ"); Builder.defineMacro("__ARM_FEATURE_FMA"); Builder.defineMacro("__ARM_FEATURE_DIV"); + Builder.defineMacro("__ARM_FEATURE_IDIV"); // As specified in ACLE + Builder.defineMacro("__ARM_FEATURE_DIV"); // For backwards compatibility + Builder.defineMacro("__ARM_FEATURE_NUMERIC_MAXMIN"); + Builder.defineMacro("__ARM_FEATURE_DIRECTED_ROUNDING"); Builder.defineMacro("__ARM_ALIGN_MAX_STACK_PWR", "4"); |

