From: Richard Barton Date: Fri, 22 Nov 2013 11:53:28 +0000 (+0000) Subject: Add support for Cortex-A12. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4e74fdcd059c4af7fa7605b56d0a49b2af735f3f;p=clang Add support for Cortex-A12. Patch by Oliver Stannard! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@195449 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 858c3c2e63..2d61b073de 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -3810,7 +3810,7 @@ public: else if (CPU == "cortex-a5") { Features["vfp4"] = true; Features["neon"] = true; - } else if (CPU == "swift" || CPU == "cortex-a7" || CPU == "cortex-a15") { + } else if (CPU == "swift" || CPU == "cortex-a7" || CPU == "cortex-a12" || CPU == "cortex-a15") { Features["vfp4"] = true; Features["neon"] = true; Features["hwdiv"] = true; diff --git a/test/Preprocessor/arm-target-features.c b/test/Preprocessor/arm-target-features.c index 80e59de9a3..7348b65626 100644 --- a/test/Preprocessor/arm-target-features.c +++ b/test/Preprocessor/arm-target-features.c @@ -141,6 +141,26 @@ // RUN: %clang -target armv7 -mthumb -mcpu=cortex-a9 -x c -E -dM %s -o - | FileCheck --check-prefix=A9-THUMB %s // A9-THUMB-NOT:#define __ARM_ARCH_EXT_IDIV__ + +// Check that -mfpu works properly for Cortex-A12 (enabled by default). +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A12 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck --check-prefix=DEFAULTFPU-A12 %s +// DEFAULTFPU-A12:#define __ARM_NEON__ 1 +// DEFAULTFPU-A12:#define __ARM_VFPV4__ 1 + +// RUN: %clang -target armv7-none-linux-gnueabi -mcpu=cortex-a12 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A12 %s +// RUN: %clang -target armv7-none-linux-gnueabi -mthumb -mcpu=cortex-a12 -mfpu=none -x c -E -dM %s -o - | FileCheck --check-prefix=FPUNONE-A12 %s +// FPUNONE-A12-NOT:#define __ARM_NEON__ 1 +// FPUNONE-A12-NOT:#define __ARM_VFPV4__ 1 + +// Test whether predefines are as expected when targeting cortex-a12. +// RUN: %clang -target armv7 -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck --check-prefix=A12 %s +// RUN: %clang -target armv7 -mthumb -mcpu=cortex-a12 -x c -E -dM %s -o - | FileCheck --check-prefix=A12 %s +// A12:#define __ARM_ARCH 7 +// A12:#define __ARM_ARCH_7A__ 1 +// A12:#define __ARM_ARCH_EXT_IDIV__ 1 +// A12:#define __ARM_ARCH_PROFILE A + // Test whether predefines are as expected when targeting cortex-a15. // RUN: %clang -target armv7 -mcpu=cortex-a15 -x c -E -dM %s -o - | FileCheck --check-prefix=A15-ARM %s // A15-ARM:#define __ARM_ARCH_EXT_IDIV__ 1