]> granicus.if.org Git - clang/commitdiff
Switch krait to use -mcpu=cortex-a15 for assembler tool invocations.
authorStephen Hines <srhines@google.com>
Fri, 4 Mar 2016 20:57:22 +0000 (20:57 +0000)
committerStephen Hines <srhines@google.com>
Fri, 4 Mar 2016 20:57:22 +0000 (20:57 +0000)
Summary:
Using -no-integrated-as causes -mcpu=krait to be transformed into
-march=armv7-a today. This precludes the assembler from using
instructions like sdiv, which are present for krait. Cortex-a15 is the
closest subset of functionality for krait, so we should switch the
assembler to use that instead.

Reviewers: cfe-commits, apazos, weimingz

Subscribers: aemerson

Differential Revision: http://reviews.llvm.org/D17874

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262742 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/Tools.cpp

index 285a8221f0b5ef768cbde7961e9a4abf16927dd1..72e7caa76a40101eae031cf34a167d7ee73a50a6 100644 (file)
@@ -8706,12 +8706,12 @@ void gnutools::Assembler::ConstructJob(Compilation &C, const JobAction &JA,
     Args.AddLastArg(CmdArgs, options::OPT_march_EQ);
 
     // FIXME: remove krait check when GNU tools support krait cpu
-    // for now replace it with -march=armv7-a  to avoid a lower
+    // for now replace it with -mcpu=cortex-a15 to avoid a lower
     // march from being picked in the absence of a cpu flag.
     Arg *A;
     if ((A = Args.getLastArg(options::OPT_mcpu_EQ)) &&
         StringRef(A->getValue()).lower() == "krait")
-      CmdArgs.push_back("-march=armv7-a");
+      CmdArgs.push_back("-mcpu=cortex-a15");
     else
       Args.AddLastArg(CmdArgs, options::OPT_mcpu_EQ);
     Args.AddLastArg(CmdArgs, options::OPT_mfpu_EQ);