[llvm-dev] LLVM issuse:AArch64 TargetParser

Renato Golin via llvm-dev llvm-dev at lists.llvm.org
Thu May 5 09:16:59 PDT 2016

On 5 May 2016 at 13:01, Bradley Smith <Bradley.Smith at arm.com> wrote:
> Allowing -march=aarch64/arm64 is somewhat misleading I think, -march is used
> for specifying an architecture version to target whereas aarch64/arm64 don’t
> convey any information to that effect, does it mean armv8a, armv8.1-a, etc?

Hi Bradley,

That's a good point. But also, what does "armv8a" mean? AArch64? AArch32?

I guess we could use the triple (which has aarch64 or arm in it), but
then it will need the triple or else we'll have a problem, since the
current interpretation of "armv8a" is AArch32.

> Personally I’m in favor of having that be rejected, it would be good to have
> TargetParser/Clang generally reject CPUs/architectures that are not valid or
> don’t add information as opposed to converting them to a fairly arbitrary
> choice (that will and does only cause confusion).

Rejecting that on -march is independent than rejecting that in the
target parser.

I think the logic of refusing this or that "arch" string in this or
that tool should be restricted to the tool, not the parser.

Means, we still have to worry about the parser's ability to understand
armv8+ with respect to AArch64 vs AArch32.

I could suggest we use -m32/-m64, but I won't. :)


More information about the llvm-dev mailing list