[PATCH] D113779: [Clang] Add mfp16, mfp16fml and mdotprod flags for ARM target features.

Florian Hahn via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Nov 15 09:17:26 PST 2021


fhahn added a comment.

In D113779#3130853 <https://reviews.llvm.org/D113779#3130853>, @paulwalker-arm wrote:

> Rather than adding connivence options after the fact what about allowing `-march=` to be specified multiple times? The first must be the usual format with later ones required to start with `+`.  The defined parsing behaviour would be as if there was a single `-march` instance positioned at the first occurrence but containing the value of all instances when combined from left to right.  For example `-march=armv8.4-a ...... -march=+nofp16` or perhaps `+=` syntax like  `-march=armv8.4-a ...... -march+=nofp16+nosve` is more intuitive?

I think that would be a convenient option which wouldn't require us to add a lot of new options, which would be quite cumbersome. But to address the main issues (providing a purely additive way to specify features) I think we would need to allow `-march=+feature`, without any preceding `-march=armvXXX`.

In D113779#3131569 <https://reviews.llvm.org/D113779#3131569>, @manojgupta wrote:

> Yes, the current approach of "-march=<isa>+feature" is terrible and does not work with developers who want flexibility of features. This being pitched as a feature imo is akin to promoting a design bug as a feature. 
> Any additive or subtractive alternative is welcome.

I wouldn't go so far as to call the current `-march` handling terrible, but I think there are valid use cases that cannot be addressed with it, as per the current discussion.  As you said, providing some way specify features additively without also committing to a specific architecture version would be desirable for our users IMO.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D113779/new/

https://reviews.llvm.org/D113779



More information about the cfe-commits mailing list