[Bug target/89929] __attribute__((target("avx512bw"))) doesn't work on non avx512bw systems

hjl at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 25 17:01:00 GMT 2019


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

--- Comment #25 from hjl at gcc dot gnu.org <hjl at gcc dot gnu.org> ---
Author: hjl
Date: Thu Apr 25 17:00:28 2019
New Revision: 270578

URL: https://gcc.gnu.org/viewcvs?rev=270578&root=gcc&view=rev
Log:
x86: Update message for target_clones and unsupported ISAs

Before AVX512F, processors with the newer ISAs also support the older
ISAs, i.e., AVX2 processors also support AVX and SSE4, SSE4 processors
also support SSSE3, ...   After AVX512F, an AVX512XX processor may not
support AVX512YY.  It means AVX512XX features, except for AVX512F, can't
be used to decide priority in target_clones.

This patch updates error message for ISAs with P_ZERO priority.  It also
merges _feature_list into _isa_names_table and marks ISAs, which have
unknown priority, with P_ZERO so that we only need to update one place
to add a new ISA feature.

gcc/

2019-04-25  H.J. Lu  <hongjiu.lu@intel.com>

        PR target/89929
        * config/i386/i386.c (feature_priority): Moved to file scope.
        (processor_features): Likewise.
        (processor_model): Likewise.
        (_arch_names_table): Likewise.
        (arch_names_table): Likewise.
        (_feature_list): Removed.
        (feature_list): Likewise.
        (_isa_names_table): Moved to file scope.  Add priority.
        (isa_names_table): Likewise.
        (get_builtin_code_for_version): Replace feature_list with
        isa_names_table.  Update error message for P_ZERO priority.

gcc/testsuite/

2019-04-25  Martin Liska  <mliska@suse.cz>
            H.J. Lu  <hongjiu.lu@intel.com>

        PR target/89929
        * g++.target/i386/mv28.C: New test.
        * gcc.target/i386/mvc14.c: Likewise.
        * g++.target/i386/pr57362.C: Updated.

Added:
    trunk/gcc/testsuite/g++.target/i386/mv28.C
    trunk/gcc/testsuite/gcc.target/i386/mvc14.c
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/g++.target/i386/pr57362.C


More information about the Gcc-bugs mailing list