https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82133
--- Comment #3 from Nick <nickpapior at gmail dot com> --- According to https://github.com/xianyi/OpenBLAS/issues/1292#issuecomment-327788223, it is in the kernel/x86_64/dgemv_n_microk_haswell-4.c source where the loop-unrolling has caused the parent function call which is kernel/x86_64/dgemv_n_4.c. I.e. the unrolling is too aggressive in dgemv_n_4.c. However, I am no expert in the OpenBLAS source code to be able to extract the relevant sources and make a functioning C-program to try and reproduce it. All I can see is that the use of the loop counter in dgemv_n_4.c is a relatively complex method. And yes, OpenBLAS works fine without any of the mentioned flags (it also works for much more aggressive optimizations, but just not with the -funroll-loops -fipa-ra flags.