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

--- Comment #10 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Martin Liska <mar...@gcc.gnu.org>:

https://gcc.gnu.org/g:8ea292591e42aa4d52b4b7a00b86335bfd2e2e85

commit r12-3494-g8ea292591e42aa4d52b4b7a00b86335bfd2e2e85
Author: Martin Liska <mli...@suse.cz>
Date:   Thu Aug 12 15:20:43 2021 +0200

    i386: support micro-levels in target{,_clone} attrs [PR101696]

    As mentioned in the PR, we do miss supports target micro-architectures
    in target and target_clone attribute. While the levels
    x86-64 x86-64-v2 x86-64-v3 x86-64-v4 are supported values by -march
    option, they are actually only aliases for k8 CPU. That said, they are more
    closer to __builtin_cpu_supports function and we decided to implement
    it there.

            PR target/101696

    gcc/ChangeLog:

            * common/config/i386/cpuinfo.h (cpu_indicator_init): Add support
            for x86-64 micro levels for __builtin_cpu_supports.
            * common/config/i386/i386-cpuinfo.h (enum feature_priority):
            Add priorities for the micro-arch levels.
            (enum processor_features): Add new features.
            * common/config/i386/i386-isas.h: Add micro-arch features.
            * config/i386/i386-builtins.c (get_builtin_code_for_version):
            Support the micro-arch levels by callsing
            __builtin_cpu_supports.
            * doc/extend.texi: Document that the levels are support by
              __builtin_cpu_supports.

    gcc/testsuite/ChangeLog:

            * g++.target/i386/mv30.C: New test.
            * gcc.target/i386/mvc16.c: New test.
            * gcc.target/i386/builtin_target.c (CHECK___builtin_cpu_supports):
            New.

    Co-Authored-By: H.J. Lu <hjl.to...@gmail.com>
  • [Bug target/101696] Function mu... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to