[PATCH] D82948: [Driver][ARM] Disable unsupported features when nofp arch extension is used
David Spickett via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 22 01:18:03 PDT 2020
DavidSpickett added inline comments.
================
Comment at: clang/lib/Driver/ToolChains/Arch/ARM.cpp:476
+ // -mfpu=none, -march=armvX+nofp or -mcpu=X+nofp is *very* similar to
+ // -mfloat-abi=soft, only that it should not disable MVE-I.
Features.insert(Features.end(),
----------------
chill wrote:
> DavidSpickett wrote:
> > Why not disable MVE-I? I assume because it's integer only but then why does -mfloat-abi=soft disable it?
> >
> > If possible add a regression test for this. In general a test like the bf16 test below, but for all the listed extensions would help. Perhaps it makes more sense to add a driver test that looks for the "-<ext>" bits in the -### output instead of doing each extension on its own.
> > Why not disable MVE-I?
>
> After MVE, "FPU" registers are a separate entity from the FPU.
>
> `-mfpu=none`/`+nofp` disable the FPU. MVE-I does not require an FPU.
> `-mfloat-abi=soft` disables both the FPU instructions and the FPU registers.
> MVE-I requires "FPU" registers.
>
> It's possible to define different semantics, but this is the one we agreed with GCC.
Got it. @vhscampos can you add that to the comment?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D82948/new/
https://reviews.llvm.org/D82948
More information about the llvm-commits
mailing list