[CC list removed, it is not shown in archives] > In i386-builtins.c, arch_names_table is used to to map architecture name > string to internal model. A switch statement is used to map internal > processor name to architecture name string and internal priority. > > model and priority are added to processor_alias_table so that a single > entry contains architecture name string, internal processor name, > internal model and internal priority. 6 entries are appended for > i386-builtins.c, which have special architecture name strings: amd, > amdfam10h, amdfam15h, amdfam17h, shanghai and istanbul, and pta_size is > adjusted to exclude them. Entries which are not used by i386-builtins.c
We already have an "amdfam10" entry, so I think these should later be extended by AMD folks to include correct processor_type, schedule model and flags. Having to manually exclude generic entries feels a bit hackish, though, but the patch is certainly an improvement. > have internal model 0. P_PROC_DYNAMIC is added to internal priority to > make entries with dynamic architecture name string or priority. BTW: Can you please change P_ZERO to P_NONE? > PR target/95842 > * common/config/i386/i386-common.c (processor_alias_table): Add > processor model and priority to each entry. > (pta_size): Updated with -6. > (num_arch_names): New. > * common/config/i386/i386-cpuinfo.h: New file. > * config/i386/i386-builtins.c (feature_priority): Removed. > (processor_model): Likewise. > (_arch_names_table): Likewise. > (arch_names_table): Likewise. > (get_builtin_code_for_version): Use processor_alias_table. > (fold_builtin_cpu): Replace arch_names_table with > processor_alias_table. > * config/i386/i386.h: Include "common/config/i386/i386-cpuinfo.h". > (pta): Add model and priority. > (num_arch_names): New. LGTM. Thanks, Uros.