Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 766135

Summary: net-misc/openvswitch-2.14.1 error: inlining failed in call to 'always_inline' '_mm512_sad_epu8'
Product: Gentoo Linux Reporter: Přemysl Šťastný <p-j>
Component: Current packagesAssignee: Matthew Thode ( prometheanfire ) <prometheanfire>
Status: UNCONFIRMED ---    
Severity: major CC: ionen, virtualization
Priority: Normal Keywords: PMASKED
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: build.log + emerge --info.txt (for -mno-bmi2)

Description Přemysl Šťastný 2021-01-19 14:09:02 UTC
net-misc/openvswitch-2.14.1 fails to build. Here is the portage info.


ao-stage ~ # emerge --info '=net-misc/openvswitch-2.14.1::gentoo'
Portage 3.0.13 (python 3.7.9-final-0, default/linux/amd64/17.1/hardened, gcc-9.3.0, glibc-2.32-r5, 5.4.80-gentoo-r1 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-5.4.80-gentoo-r1-x86_64-Intel-R-_Xeon-R-_CPU_E5-2440_0_@_2.40GHz-with-gentoo-2.7
KiB Mem:    31250000 total,  29768252 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Tue, 19 Jan 2021 00:45:01 +0000
Head commit of repository gentoo: 40f87905372a14d909acab170d22216664fc3914
sh bash 5.0_p18
ld GNU ld (Gentoo 2.34 p6) 2.34.0
app-shells/bash:          5.0_p18::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          2.7.18-r5::gentoo, 3.7.9-r1::gentoo, 3.8.6-r1::gentoo, 3.9.0-r1::gentoo
dev-util/cmake:           3.17.4-r1::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.2-r1::gentoo
sys-devel/binutils:       2.34-r2::gentoo
sys-devel/gcc:            9.3.0-r2::gentoo
sys-devel/gcc-config:     2.3.2-r1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=15360 -mtune=sandybridge"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.3/ext-active/ /etc/php/apache2-php7.4/ext-active/ /etc/php/cgi-php7.3/ext-active/ /etc/php/cgi-php7.4/ext-active/ /etc/php/cli-php7.3/ext-active/ /etc/php/cli-php7.4/ext-active/ /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=15360 -mtune=sandybridge"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS=" --complete-graph --with-bdeps=y"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=15360 -mtune=sandybridge"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=15360 -mtune=sandybridge"
GENTOO_MIRRORS="http://ftp.fi.muni.cz/pub/linux/gentoo/ ftp://ftp.fi.muni.cz/pub/linux/gentoo/ rsync://ftp.fi.muni.cz/pub/linux/gentoo/ http://mirror.dkm.cz/gentoo/ https://mirror.dkm.cz/gentoo/ ftp://mirror.dkm.cz/gentoo/ rsync://mirror.dkm.cz/gentoo/ http://gentoo.mirror.web4u.cz/ ftp://gentoo.mirror.web4u.cz/"
LANG="C.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j12"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl amd64 apparmor bash-completion berkdb btrfs bzip2 cgi cgroups clamav cli crypt curl device-mapper elogind fuse gd git glusterfs gnutls gzip hardened http2 http3 iconv ipv6 jit ldap libglvnd libssh libtirpc libvirtd luajit luks1_default lxc multilib ncurses nls nptl numa openmp pam pcre pie postgres qemu readline sasl sctp seccomp sha2 split-usr ssh ssl ssp syslog tcmalloc tmux truetype unicode vim-syntax xattr xtpax zlib zstd" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python3_7 python3_8 python3_9 pypy3" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


ao-stage ~ # emerge -pqv '=net-misc/openvswitch-2.14.1::gentoo'
[ebuild     U ] net-misc/openvswitch-2.14.1 [2.13.0-r1] USE="ssl -debug (-dist-kernel) -modules -monitor" PYTHON_TARGETS="python3_7 python3_8%* python3_9%* (-python3_6%)" 




Reproducible: Always
Comment 1 Přemysl Šťastný 2021-01-19 14:12:09 UTC
Tail of build log:

lib/dpif-netdev-lookup-avx512-gather.c: In function ���_mm512_popcnt_epi64_manual���:
lib/dpif-netdev-lookup-avx512-gather.c:45:1: warning: AVX512F vector return without AVX512F enabled changes the ABI [-Wpsabi]
   45 | {
      | ^
lib/dpif-netdev-lookup-avx512-gather.c:44:1: note: the ABI for passing parameters with 64-byte alignment has changed in GCC 4.6
   44 | _mm512_popcnt_epi64_manual(__m512i v_in)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~
mv utilities/ovs-dpctl-top.tmp utilities/ovs-dpctl-top
PYTHONPATH=$PYTHONPATH":"./python /usr/bin/python3 ./build-aux/soexpand.py -I. < utilities/ovs-sim.in | \
  /usr/bin/python3 ./build-aux/dpdkstrip.py --nodpdk | \
  sed \
    -e 's,[@]PKIDIR[@],/etc/ssl/openvswitch,g' \
    -e 's,[@]LOGDIR[@],/var/log/openvswitch,g' \
    -e 's,[@]DBDIR[@],/var/lib/openvswitch,g' \
    -e 's,[@]PYTHON3[@],/usr/bin/python3,g' \
    -e 's,[@]RUNDIR[@],/var/run/openvswitch,g' \
    -e 's,[@]VERSION[@],2.14.1,g' \
    -e 's,[@]localstatedir[@],/var/lib,g' \
    -e 's,[@]pkgdatadir[@],/usr/share/openvswitch,g' \
    -e 's,[@]sysconfdir[@],/etc,g' \
    -e 's,[@]bindir[@],/usr/bin,g' \
    -e 's,[@]sbindir[@],/usr/sbin,g' \
    -e 's,[@]abs_builddir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \
    -e 's,[@]abs_top_srcdir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \
  > utilities/ovs-sim.tmp
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:65,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512bwintrin.h:413:1: error: inlining failed in call to always_inline ���_mm512_sad_epu8���: target specific option mismatch
  413 | _mm512_sad_epu8 (__m512i __A, __m512i __B)
      | ^~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:63:12: note: called from here
   63 |     return _mm512_sad_epu8(v_u8_pop, _mm512_setzero_si512());
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:339:1: error: inlining failed in call to always_inline ���_mm512_setzero_si512���: target specific option mismatch
  339 | _mm512_setzero_si512 (void)
      | ^~~~~~~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:63:12: note: called from here
   63 |     return _mm512_sad_epu8(v_u8_pop, _mm512_setzero_si512());
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:65,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512bwintrin.h:924:1: error: inlining failed in call to always_inline ���_mm512_add_epi8���: target specific option mismatch
  924 | _mm512_add_epi8 (__m512i __A, __m512i __B)
      | ^~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:61:24: note: called from here
   61 |     __m512i v_u8_pop = _mm512_add_epi8(v_lo_pop, v_hi_pop);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:65,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512bwintrin.h:1852:1: error: inlining failed in call to always_inline ���_mm512_shuffle_epi8���: target specific option mismatch
 1852 | _mm512_shuffle_epi8 (__m512i __A, __m512i __B)
      | ^~~~~~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:60:24: note: called from here
   60 |     __m512i v_hi_pop = _mm512_shuffle_epi8(v_pop_lut, v_in_hi);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:65,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512bwintrin.h:1852:1: error: inlining failed in call to always_inline ���_mm512_shuffle_epi8���: target specific option mismatch
 1852 | _mm512_shuffle_epi8 (__m512i __A, __m512i __B)
      | ^~~~~~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:59:24: note: called from here
   59 |     __m512i v_lo_pop = _mm512_shuffle_epi8(v_pop_lut, v_in_lo);
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:7659:1: error: inlining failed in call to always_inline ���_mm512_and_si512���: target specific option mismatch
 7659 | _mm512_and_si512 (__m512i __A, __m512i __B)
      | ^~~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:57:23: note: called from here
   57 |     __m512i v_in_hi = _mm512_and_si512(v_in_srl8, v_nibble_mask);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:7659:1: error: inlining failed in call to always_inline ���_mm512_and_si512���: target specific option mismatch
 7659 | _mm512_and_si512 (__m512i __A, __m512i __B)
      | ^~~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:56:23: note: called from here
   56 |     __m512i v_in_lo = _mm512_and_si512(v_in, v_nibble_mask);
      |                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:214:1: error: inlining failed in call to always_inline ���_mm512_set1_epi8���: target specific option mismatch
  214 | _mm512_set1_epi8 (char __A)
      | ^~~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:55:29: note: called from here
   55 |     __m512i v_nibble_mask = _mm512_set1_epi8(0xF);
      |                             ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:1087:1: error: inlining failed in call to always_inline ���_mm512_srli_epi64���: target specific option mismatch
 1087 | _mm512_srli_epi64 (__m512i __A, unsigned int __B)
      | ^~~~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:54:25: note: called from here
   54 |     __m512i v_in_srl8 = _mm512_srli_epi64(v_in, 4);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/immintrin.h:55,
                 from lib/dpif-netdev-lookup-avx512-gather.c:30:
/usr/lib/gcc/x86_64-pc-linux-gnu/9.3.0/include/avx512fintrin.h:6382:1: error: inlining failed in call to always_inline ���_mm512_loadu_si512���: target specific option mismatch
 6382 | _mm512_loadu_si512 (void const *__P)
      | ^~~~~~~~~~~~~~~~~~
lib/dpif-netdev-lookup-avx512-gather.c:52:25: note: called from here
   52 |     __m512i v_pop_lut = _mm512_loadu_si512(pop_lut);
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mv utilities/ovs-parse-backtrace.tmp utilities/ovs-parse-backtrace
PYTHONPATH=$PYTHONPATH":"./python /usr/bin/python3 ./build-aux/soexpand.py -I. < ovsdb/ovsdb-idlc.in | \
  /usr/bin/python3 ./build-aux/dpdkstrip.py --nodpdk | \
  sed \
    -e 's,[@]PKIDIR[@],/etc/ssl/openvswitch,g' \
    -e 's,[@]LOGDIR[@],/var/log/openvswitch,g' \
    -e 's,[@]DBDIR[@],/var/lib/openvswitch,g' \
    -e 's,[@]PYTHON3[@],/usr/bin/python3,g' \
    -e 's,[@]RUNDIR[@],/var/run/openvswitch,g' \
    -e 's,[@]VERSION[@],2.14.1,g' \
    -e 's,[@]localstatedir[@],/var/lib,g' \
    -e 's,[@]pkgdatadir[@],/usr/share/openvswitch,g' \
    -e 's,[@]sysconfdir[@],/etc,g' \
    -e 's,[@]bindir[@],/usr/bin,g' \
    -e 's,[@]sbindir[@],/usr/sbin,g' \
    -e 's,[@]abs_builddir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \
    -e 's,[@]abs_top_srcdir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \
  > ovsdb/ovsdb-idlc.tmp
mv utilities/ovs-l3ping.tmp utilities/ovs-l3ping
PYTHONPATH=$PYTHONPATH":"./python /usr/bin/python3 ./build-aux/soexpand.py -I. < ovsdb/ovsdb-dot.in | \
  /usr/bin/python3 ./build-aux/dpdkstrip.py --nodpdk | \
  sed \
    -e 's,[@]PKIDIR[@],/etc/ssl/openvswitch,g' \
    -e 's,[@]LOGDIR[@],/var/log/openvswitch,g' \
    -e 's,[@]DBDIR[@],/var/lib/openvswitch,g' \
    -e 's,[@]PYTHON3[@],/usr/bin/python3,g' \
    -e 's,[@]RUNDIR[@],/var/run/openvswitch,g' \
    -e 's,[@]VERSION[@],2.14.1,g' \
    -e 's,[@]localstatedir[@],/var/lib,g' \
    -e 's,[@]pkgdatadir[@],/usr/share/openvswitch,g' \
    -e 's,[@]sysconfdir[@],/etc,g' \
    -e 's,[@]bindir[@],/usr/bin,g' \
    -e 's,[@]sbindir[@],/usr/sbin,g' \
    -e 's,[@]abs_builddir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \
    -e 's,[@]abs_top_srcdir[@],/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1,g' \
  > ovsdb/ovsdb-dot.tmp
make[2]: *** [Makefile:4524: lib/libopenvswitchavx512_la-dpif-netdev-lookup-avx512-gather.lo] Error 1
make[2]: *** Waiting for unfinished jobs....
mv utilities/ovs-test.tmp utilities/ovs-test
mv utilities/ovs-vlan-test.tmp utilities/ovs-vlan-test
libtool: compile:  x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -DNDEBUG -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument -Wbool-compare -Wshift-negative-value -Wduplicated-cond -Wshadow -Wmultistatement-macros -Wcast-align=strict -fomit-frame-pointer -Wno-unused -Wno-unused-parameter -O2 -pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=15360 -mtune=sandybridge -DHAVE_AVX512F -DHAVE_LD_AVX512_GOOD -c lib/sflow_poller.c -o lib/libsflow_la-sflow_poller.o
libtool: compile:  x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -DNDEBUG -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wswitch-bool -Wlogical-not-parentheses -Wsizeof-array-argument -Wbool-compare -Wshift-negative-value -Wduplicated-cond -Wshadow -Wmultistatement-macros -Wcast-align=strict -fomit-frame-pointer -Wno-unused -Wno-unused-parameter -O2 -pipe -march=sandybridge -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mno-lzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx5124fmaps -mno-avx5124vnniw -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mno-rdpid -mno-gfni -mno-shstk -mno-avx512vbmi2 -mno-avx512vnni -mno-vaes -mno-vpclmulqdq -mno-avx512bitalg -mno-movdiri -mno-movdir64b -mno-waitpkg -mno-cldemote -mno-ptwrite --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=15360 -mtune=sandybridge -DHAVE_AVX512F -DHAVE_LD_AVX512_GOOD -c lib/sflow_receiver.c -o lib/libsflow_la-sflow_receiver.o
mv ovsdb/ovsdb-dot.tmp ovsdb/ovsdb-dot
mv utilities/ovs-sim.tmp utilities/ovs-sim
mv ovsdb/ovsdb-idlc.tmp ovsdb/ovsdb-idlc
make[2]: Leaving directory '/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1'
make[1]: *** [Makefile:5248: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1'
make: *** [Makefile:2995: all] Error 2
 * ERROR: net-misc/openvswitch-2.14.1::gentoo failed (compile phase):
 *   emake failed
 * 
 * If you need support, post the output of `emerge --info '=net-misc/openvswitch-2.14.1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=net-misc/openvswitch-2.14.1::gentoo'`.
 * The complete build log is located at '/var/log/portage/net-misc:openvswitch-2.14.1:20210119-135626.log'.
 * For convenience, a symlink to the build log is located at '/var/tmp/portage/net-misc/openvswitch-2.14.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-misc/openvswitch-2.14.1/temp/environment'.
 * Working directory: '/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1'
 * S: '/var/tmp/portage/net-misc/openvswitch-2.14.1/work/openvswitch-2.14.1'
Comment 2 Ionen Wolkens gentoo-dev 2021-01-19 15:15:54 UTC
Created attachment 683746 [details]
build.log + emerge --info.txt (for -mno-bmi2)

Please attach full build.log in the future rather than paste in a comment.

That aside, to narrow it down, could reproduce on ~amd64 and gcc10 with:
CFLAGS="-march=sandybridge -O2 -mno-avx2"

Also had a similar error with:
CFLAGS="-march=sandybridge -O2 -mno-bmi2"

bmi2intrin.h:76:1: error: inlining failed in call to 'always_inline' '_pext_u64': target specific option mismatch
Comment 3 Přemysl Šťastný 2021-10-07 18:01:53 UTC
Hello.

I don't have gcc10 installed. Would it be enough to do it with gcc9?

Thanks.

Best regards
Přemysl
Comment 4 Larry the Git Cow gentoo-dev 2022-07-02 12:35:34 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9810e0f55cb9c8da7bdcf6bdcae630e61fcf3594

commit 9810e0f55cb9c8da7bdcf6bdcae630e61fcf3594
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2022-07-02 12:31:46 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2022-07-02 12:35:08 +0000

    net-misc/openvswitch: add 2.17.2
    
    Bug: https://bugs.gentoo.org/766135
    Closes: https://bugs.gentoo.org/596206
    Closes: https://bugs.gentoo.org/633516
    Closes: https://bugs.gentoo.org/671776
    Closes: https://bugs.gentoo.org/672870
    Closes: https://bugs.gentoo.org/794535
    Closes: https://bugs.gentoo.org/854663
    Signed-off-by: Sam James <sam@gentoo.org>

 net-misc/openvswitch/Manifest                  |   1 +
 net-misc/openvswitch/openvswitch-2.17.2.ebuild | 152 +++++++++++++++++++++++++
 2 files changed, 153 insertions(+)