From 37876976b0511ec96741f638f160874f2added0e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 5 Feb 2021 10:39:03 +0100 Subject: [PATCH] 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 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 | 2 ++ gcc/config/i386/x86-tune.def | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c index a70f6edf7b0..cdeabbfca4b 100644 --- a/gcc/config/i386/i386-options.c +++ b/gcc/config/i386/i386-options.c @@ -98,6 +98,8 @@ along with GCC; see the file COPYING3. If not see #endif /* Processor feature/optimization bitmasks. */ +#define m_NONE HOST_WIDE_INT_0U +#define m_ALL (~HOST_WIDE_INT_0U) #define m_386 (HOST_WIDE_INT_1U<