Created attachment 755582 [details] emerge --info Compilation fails with /usr/lib/gcc/x86_64-pc-linux-gnu/9.4.0/include/bmiintrin.h: In function 'unsigned int embree::bsf(unsigned int)': /usr/lib/gcc/x86_64-pc-linux-gnu/9.4.0/include/bmiintrin.h:104:1: error: inlining failed in call to always_inline 'unsigned int _tzcnt_u32(unsigned int)': target specific option mismatch 104 | _tzcnt_u32 (unsigned int __X) | ^~~~~~~~~~
Created attachment 755586 [details] build log
This is going to be because of CFLAGS: >CFLAGS="-march=native -O3 -maes -mavx -mavx2 -mf16c -mfma -mmmx -mpclmul -mpopcnt -msse -msse2 -msse3 -msse4.1 -msse4.2 -msse4a -mssse3 -pipe" For now, drop the explicit -m* for aes, etc (you shouldn't need them anyway with -march=native).
Also: - Why do you have so many GCCs installed? - Why aren't you using GCC 10/11 (which is now stable)? - Why do you have _9999 GCC installed? - Why aren't you using the latest Binutils? Please do depclean after world upgrades too.
(In reply to Sam James from comment #2) > This is going to be because of CFLAGS: > >CFLAGS="-march=native -O3 -maes -mavx -mavx2 -mf16c -mfma -mmmx -mpclmul -mpopcnt -msse -msse2 -msse3 -msse4.1 -msse4.2 -msse4a -mssse3 -pipe" > > For now, drop the explicit -m* for aes, etc (you shouldn't need them anyway > with -march=native). ... and the build system and ebuild already support passing in SIMD flags properly with CPU_FLAGS_*. It should avoid passing e.g. -mavx2 when it doesn't want it for a certain unit, but I think this is partially self-inflicted. I'd report this upstream.
This has been "fixed" in that we now strip out all "-m*" flags.