https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77756
--- Comment #2 from Yale Zhang <yzhang1985 at gmail dot com> --- (In reply to Uroš Bizjak from comment #1) > Created attachment 39711 [details] > Patch that fixes __get_cpuid > > Can you please check if the attached patch fixes your problem? Great, your patch works. Thanks for taking care of it so quickly. I see you made it flexible by setting ECX to 0 only for certain levels, without increasing machine code size since __get_cpuid() is inlined and most of the unused cases will get thrown away as dead code. But does level 13 really exist? I don't see any documentation for it. Also, any idea why the AVX2 auto detection used for function multiversioning was working earlier, which used __get_cpuid()? Was it just by chance?