aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family/c-cppbuiltin.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2021-08-12 15:20:43 +0200
committerMartin Liska <mliska@suse.cz>2021-09-13 17:24:48 +0200
commit8ea292591e42aa4d52b4b7a00b86335bfd2e2e85 (patch)
treefb59f661f30741d2687da3d7196bea8d8673db90 /gcc/c-family/c-cppbuiltin.c
parent03312cbd54f337dfb25be356a1d1abc9925c6c03 (diff)
downloadgcc-8ea292591e42aa4d52b4b7a00b86335bfd2e2e85.zip
gcc-8ea292591e42aa4d52b4b7a00b86335bfd2e2e85.tar.gz
gcc-8ea292591e42aa4d52b4b7a00b86335bfd2e2e85.tar.bz2
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.tools@gmail.com>
Diffstat (limited to 'gcc/c-family/c-cppbuiltin.c')
0 files changed, 0 insertions, 0 deletions