https://gcc.gnu.org/bugzilla/show_bug.cgi?id=112669

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Thomas Schwinge <tschwi...@gcc.gnu.org>:

https://gcc.gnu.org/g:297fe5c166f1d920da6d5ef9c7e02846b0148575

commit r14-5884-g297fe5c166f1d920da6d5ef9c7e02846b0148575
Author: Thomas Schwinge <tho...@codesourcery.com>
Date:   Wed Nov 22 17:35:23 2023 +0100

    GCN: Tag '-march=[...]', '-mtune=[...]' as 'Negative' of themselves
[PR112669]

    Certain other command-line flags are mutually exclusive (random example:
GCN
    '-march=gfx906', '-march=gfx908').  If they're not appropriately marked up,
    this does disturb the multilib selection machinery, for example:

        $ build-gcc-offload-amdgcn-amdhsa/gcc/xgcc -print-multi-directory
-march=gfx906
        gfx906
        $ build-gcc-offload-amdgcn-amdhsa/gcc/xgcc -print-multi-directory
-march=gfx908
        gfx908
        $ build-gcc-offload-amdgcn-amdhsa/gcc/xgcc -print-multi-directory
-march=gfx906 -march=gfx908
        .

    In the last invocation, '-march=gfx900 -march=gfx906', for example, in
    'gcc/gcc.cc:set_multilib_dir' we see both flags -- which there doesn't
exist a
    matching multilib for, therefore we "fail" to the default ('.').  Tagges as
    'Negative', only the last flag survives, and we, for example, get the
expected:

        $ build-gcc-offload-amdgcn-amdhsa/gcc/xgcc -print-multi-directory
-march=gfx906 -march=gfx908
        gfx908

    I quickly found that the same also applies to GCN's '-mtune=[...]', but
I've
    not otherwise reviewed the GCN options.

            PR target/112669
            gcc/
            * config/gcn/gcn.opt (march=, mtune=): Tag as 'Negative' of
            themselves.

Reply via email to