Re: [PATCH] tree-vect.h: Compile check_vect with -O0

Hongtao Liu <[email protected]> Fri, 7 Aug 2026 14:19:16 +0800
Newsgroups gmane.comp.gcc.patches
Message-ID <CAMZc-bwN2NSK8G-0yrF5wa58ywEx_LHdQ3Q6NtFrADFBG+N+RQ@mail.gmail.com>
On Fri, Aug 7, 2026 at 10:59 AM H.J. Lu <[email protected]> wrote:
>
> On Fri, Aug 7, 2026 at 6:12 AM H.J. Lu <[email protected]> wrote:
> >
> > commit 44cc8e5718efd0cc1ef57c68052dbe33b047f158
> > Author: Ewan <[email protected]>
> > Date:   Tue Mar 17 16:12:15 2026 +0800
> >
> >     i386: Fix __get_cpuid() and __get_cpuid_count() for
> > Centaur/Zhaoxin CPUID range
> >
> > caused many regressions, like
> >
> > FAIL: gcc.dg/vect/vect-100.c scan-tree-dump-not optimized "Invalid sum"
> >
> > on Linux/x86-64 with -m32.  The commit above changed __get_cpuid_count
> > which is used by check_vect in tree-vect.h.  When GCC tried to vectorize
> > check_vect, it outputted
> >
> > __attribute__((noinline))
> > void check_vect ()
> > {
> > ...
> > ;;   Invalid sum of incoming counts 966367640 (estimated locally, freq
> > 0.9000), should be 719407024 (estimated locally, freq 0.6700)
> >
> > which failed
> >
> > /* { dg-final { scan-tree-dump-not "Invalid sum" "optimized" } } */
> >
> > Compile check_vect with -O0 to avoid it.
> >
> > * gcc.dg/vect/tree-vect.h (check_vect): Compile with -O0.
> >
> >
> > --
> > H.J.
>
> This fixes:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126697

Can we use

unsigned int __ext = __leaf & 0xC0000000;

Assume it can also support zhaoxin's maximum secondary extended
level(0xC0000000);?



>
> --
> H.J.



-- 
BR,
Hongtao