[LLVMdev] [cfe-dev] AArch64 Clang CLI interface proposal

Tim Northover t.p.northover at gmail.com
Wed Jun 25 00:26:31 PDT 2014


Hi Kevin,

I assume you've looked at the GCC documentation in this area, since
your ideas are very similar:
https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html. I actually
think that looks like a rational set of conventions too.

The main difference appears to be that GCC requires "armv8-a" in
-march before any features, which I quite like. But even if I didn't
it's close enough that we should follow anyway, for compatibility if
nothing else.

> Last change is about '-mcpu'. If user don't care portability and only want
> to get good performance on a certain CPU, he can use
> '-mcpu=XXX+[no]featureA', which is an alias of '-march=default feature of
> XXX+[no]featureA -mtune=XXX'. All default feature will get enabled and tune
> target will be selected. So it's just a short hand of '-march' and '-mcpu'.

I think we should also specifically warn on the use of -mcpu:
aggressively deprecate it on AArch64. AArch64 is a new architecture,
there's no real excuse for using the legacy options.

> I think those changes can easily build binary running on multiple CPUs and
> get more compatible with gcc. Is this new proposal reasonable?

I like it!

Cheers.

Tim.



More information about the llvm-dev mailing list