https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93055
--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Created attachment 47546 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47546&action=edit preprocessed benchmark I am attaching preprocessed source. I used -O3 -march=native -fno-prefetch-loops-arrays (since I was more interested in the dependency chain breaking). It expands to: /aux/hubicka/trunk-install/libexec/gcc/x86_64-pc-linux-gnu/10.0.0/cc1plus -quiet -v -I . -imultiarch x86_64-linux-gnu -D_GNU_SOURCE stepanov_vector.cpp -march=bdver1 -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -msse4a -mcx16 -msahf -mno-movbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mlwp -mno-fma -mfma4 -mxop -mno-bmi -mno-sgx -mno-bmi2 -mno-pconfig -mno-wbnoinvd -mno-tbm -mavx -mno-avx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mno-rdrnd -mno-f16c -mno-fsgsbase -mno-rdseed -mprfchw -mno-adx -mfxsr -mxsave -mno-xsaveopt -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 -mno-avx512bf16 -mno-enqcmd -mno-avx512vp2intersect --param l1-cache-size=16 --param l1-cache-line-size=64 --param l2-cache-size=2048 -mtune=bdver1 -quiet -dumpbase stepanov_vector.cpp -auxbase stepanov_vector -g -O3 -std=c++14 -version -fno-prefetch-loop-arrays -o /tmp/ccN2TJcU.s