[PATCH] x86: Fold arch_names_table into processor_alias_table

Uros Bizjak ubizjak@gmail.com
Wed Jun 24 07:31:24 GMT 2020


[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.


More information about the Gcc-patches mailing list