* Jakub Jelinek:

> On Wed, Sep 30, 2020 at 04:05:41PM +0200, Florian Weimer wrote:
>> > I think the documentation should state that these are not valid in -mtune=,
>> > just in -march=, and that using -march=x86-64-v* will not change tuning.
>> > I guess there should be some testsuite coverage for the for some unexpected
>> > behavior of
>> > -march=skylake -march=x86-64-v3
>> > actually acting as
>> > -march=x86-64-v3 -mtune=skylake
>> > though perhaps it needs to be skipped if user used explicit -mtune= and
>> > not sure how to actually test that (-fverbose-asm doesn't print -mtune=
>> > when it is not explicit).
>> 
>> I think the compiler driver collapses -march=skylake -march=x86-64-v3
>> to -march=x86-64-v3, dropping the tuning.  The cc1 option parser also
>> drops the first -march=.  That's a bit surprising to me.  It means
>> that we can't use multiple tuning/non-tuning -march= switches, and
>> that tuning with (say) -march=x86-64-v3 needs to use -mtune.
>> 
>> PTA_NO_TUNE is still needed because we'd define __tune_k8__ otherwise
>> (and switch to K8 tuning internally).
>> 
>> Is it okay to simply document this?  Perhaps like this?
>
> Thinking about it more, wouldn't it better to just imply generic tuning
> for these -march= options?

I think this is what the patch does?  See the x86-64-v3-haswell.c
test.

I tried to explain this in the documentation.  I do not think this is
particularly confusing for end users because they do not see the
implementation, which is making this complicated.

I think we should not set generic tuning in processor_alias_table
because it would override tuning for target clones, and I don't think
we want to do that automatically.

Reply via email to