diff options
| author | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2014-01-27 18:44:25 +0000 |
|---|---|---|
| committer | Artyom Skrobov <Artyom.Skrobov@arm.com> | 2014-01-27 18:44:25 +0000 |
| commit | 1c66c3a7f2a4480afff1590a0d58482ef1e85391 (patch) | |
| tree | 913f4b57baacd53abe31b18f369eaaa725518889 | |
| parent | 1a2292614c23d98a8421ee7de872ac18a543be4c (diff) | |
| download | bcm5719-llvm-1c66c3a7f2a4480afff1590a0d58482ef1e85391.tar.gz bcm5719-llvm-1c66c3a7f2a4480afff1590a0d58482ef1e85391.zip | |
Cortex-M3 and Cortex-M4 should not enable hwdiv-arm
llvm-svn: 200233
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 5 | ||||
| -rw-r--r-- | clang/test/Driver/arm-cortex-cpus.c | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 94c8ea95989..b313ac44b2d 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -3832,14 +3832,15 @@ public: Features["hwdiv"] = true; Features["hwdiv-arm"] = true; Features["crc"] = true; - } else if (CPU == "cortex-r5" || CPU == "cortex-m3" || - CPU == "cortex-m4" || + } else if (CPU == "cortex-r5" || // Enable the hwdiv extension for all v8a AArch32 cores by // default. ArchName == "armv8a" || ArchName == "armv8" || ArchName == "thumbv8a" || ArchName == "thumbv8") { Features["hwdiv"] = true; Features["hwdiv-arm"] = true; + } else if (CPU == "cortex-m3" || CPU == "cortex-m4") { + Features["hwdiv"] = true; } } diff --git a/clang/test/Driver/arm-cortex-cpus.c b/clang/test/Driver/arm-cortex-cpus.c index ddfbc6e58c9..80c0f10aa00 100644 --- a/clang/test/Driver/arm-cortex-cpus.c +++ b/clang/test/Driver/arm-cortex-cpus.c @@ -158,3 +158,9 @@ // RUN: %clang -target arm -mcpu=cortex-a53 -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV8A-THUMB %s // RUN: %clang -target arm -mcpu=cortex-a57 -mthumb -### -c %s 2>&1 | FileCheck -check-prefix=CHECK-CPUV8A-THUMB %s // CHECK-CPUV8A-THUMB: "-cc1"{{.*}} "-triple" "thumbv8-{{.*}} + +// ================== Check that Cortex-M cores don't enable hwdiv-arm (and don't emit Tag_DIV_use) +// RUN: %clang -target arm-linux-gnueabi -mcpu=cortex-m3 -S %s -o - | FileCheck -check-prefix=CHECK-HWDIV-ARM %s +// RUN: %clang -target arm-linux-gnueabi -mcpu=cortex-m4 -S %s -o - | FileCheck -check-prefix=CHECK-HWDIV-ARM %s +// CHECK-HWDIV-ARM-NOT: .eabi_attribute 44 + |

