From: Tim Northover Date: Wed, 21 Dec 2016 20:49:43 +0000 (+0000) Subject: ARM: define a macro for the FPv5 FPU in ARM mode. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b8618b7fcb2c73f5dbb43fffe35f78228c83235b;p=clang ARM: define a macro for the FPv5 FPU in ARM mode. FPv5 is in Cortex-M7 and the 64-bit CPUs when running in 32-bit mode. The name is from the Cortex-M7 TRM. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@290268 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index f887b0556d..dd88646b17 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -5391,6 +5391,8 @@ public: Builder.defineMacro("__ARM_VFPV3__"); if (FPU & VFP4FPU) Builder.defineMacro("__ARM_VFPV4__"); + if (FPU & FPARMV8) + Builder.defineMacro("__ARM_FPV5__"); } // This only gets set when Neon instructions are actually available, unlike diff --git a/test/Preprocessor/arm-target-features.c b/test/Preprocessor/arm-target-features.c index 1a27d5bc50..f45c5ba07f 100644 --- a/test/Preprocessor/arm-target-features.c +++ b/test/Preprocessor/arm-target-features.c @@ -389,6 +389,7 @@ // M7-THUMB:#define __ARM_ARCH_EXT_IDIV__ 1 // M7-THUMB:#define __ARM_FEATURE_DSP 1 // M7-THUMB:#define __ARM_FP 0xE +// M7-THUMB:#define __ARM_FPV5__ 1 // Test whether predefines are as expected when targeting krait. // RUN: %clang -target armv7 -mcpu=krait -x c -E -dM %s -o - | FileCheck -match-full-lines --check-prefix=KRAIT %s