[PATCH] [clang] dont special case the ARMv7 FPU

Jim Grosbach grosbach at apple.com
Tue Feb 19 13:59:04 PST 2013


iOS wants to default to a CPU setting of cortex-a8 when compiling for an arch of v7. That implies NEON. I don't know if this particular bit of code is necessary to make that happen properly. I suggest experimenting and digging a bit to see how that works.

In any case, changing the default of whether NEON is available for armv7 when compiling for iOS is very much the wrong thing to do.

-Jim

On Feb 19, 2013, at 1:53 PM, Eric Christopher <echristo at gmail.com> wrote:

> At the very least I agree that's the wrong place to be doing that. Or it should be conditionalized on OS if the ios people want to do that.
> 
> -eric
> 
> On Tue, Feb 19, 2013 at 1:50 PM, Saleem Abdulrasool <compnerd at compnerd.org> wrote:
> Hi echristo, grosbach,
> 
> ARMv7 chipsets usually are paired with a NEON FPU.  However, this is not
> required (e.g. tegra2).  Rather than always forcing NEON as the FPU for ARMv7
> chips, honour the -mfpu flag, which already is being done.  If -mfpu is not
> specified, then let the default FPU remain selected (VFP).
> 
> Signed-off-by: Saleem Abdulrasool <compnerd at compnerd.org>
> 
> 
> http://llvm-reviews.chandlerc.com/D425
> 
> Files:
>   lib/Driver/Tools.cpp
> 
> Index: lib/Driver/Tools.cpp
> ===================================================================
> --- lib/Driver/Tools.cpp
> +++ lib/Driver/Tools.cpp
> @@ -5494,10 +5494,6 @@
>      CmdArgs.push_back("-mppc64");
>      CmdArgs.push_back("-many");
>    } else if (getToolChain().getArch() == llvm::Triple::arm) {
> -    StringRef MArch = getToolChain().getArchName();
> -    if (MArch == "armv7" || MArch == "armv7a" || MArch == "armv7-a")
> -      CmdArgs.push_back("-mfpu=neon");
> -
>      StringRef ARMFloatABI = getARMFloatABI(getToolChain().getDriver(), Args,
>                                             getToolChain().getTriple());
>      CmdArgs.push_back(Args.MakeArgString("-mfloat-abi=" + ARMFloatABI));
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130219/c30fd7bd/attachment.html>


More information about the cfe-commits mailing list