i386: Fix up TARGET_QIMODE_MATH for many AMD CPU tunings [PR98957]
authorJakub Jelinek <jakub@redhat.com>
Fri, 5 Feb 2021 09:39:03 +0000 (10:39 +0100)
committerJakub Jelinek <jakub@redhat.com>
Fri, 5 Feb 2021 09:39:03 +0000 (10:39 +0100)
commit37876976b0511ec96741f638f160874f2added0e
tree75a96acb28e6ccb10feb80d1e0875725efc5c927
parentb229baa75ce4627d1bd38f2d3dcd91af1a7071db
i386: Fix up TARGET_QIMODE_MATH for many AMD CPU tunings [PR98957]

As written in the PR, TARGET_QIMODE_MATH was meant to be set for all
tunings and it was the case for GCC <= 7, but as the number of
PROCESSOR_* enumerators grew, some AMD tunings (which are at the end
of the list) over time got enumerators with values >= 32 and
TARGET_QIMODE_MATH became disabled for them, in GCC 8 for 2
tunings, in GCC 9 for 7 tunings, in GCC 10 for 8 tunings, and
on the trunk for 11 tunings.

The following patch fixes it by using uhwis rather than uints
and gives them also symbolic names.

2021-02-05  Jakub Jelinek  <jakub@redhat.com>

PR target/98957
* config/i386/i386-options.c (m_NONE, m_ALL): Define.
* config/i386/x86-tune.def (X86_TUNE_BRANCH_PREDICTION_HINTS,
X86_TUNE_PROMOTE_QI_REGS): Use m_NONE instead of 0U.
(X86_TUNE_QIMODE_MATH): Use m_ALL instead of ~0U.
gcc/config/i386/i386-options.c
gcc/config/i386/x86-tune.def