Skip to content

Commit

Permalink
Switch krait to use -mcpu=cortex-a15 for assembler tool invocations.
Browse files Browse the repository at this point in the history
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

llvm-svn: 262742
  • Loading branch information
stephenhines committed Mar 4, 2016
1 parent 4a56e38 commit e3f91e3
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions clang/lib/Driver/Tools.cpp
Expand Up @@ -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);
Expand Down

0 comments on commit e3f91e3

Please sign in to comment.