diff options
author | Martin Liska <mliska@suse.cz> | 2021-08-12 15:20:43 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2021-09-13 17:24:48 +0200 |
commit | 8ea292591e42aa4d52b4b7a00b86335bfd2e2e85 (patch) | |
tree | fb59f661f30741d2687da3d7196bea8d8673db90 /gcc/c-family/c-cppbuiltin.c | |
parent | 03312cbd54f337dfb25be356a1d1abc9925c6c03 (diff) | |
download | gcc-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