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