https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70471
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |missed-optimization, ra Status|UNCONFIRMED |NEW Last reconfirmed| |2016-03-31 Ever confirmed|0 |1 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Please provide the compiler command plus output when -v appended so we can see what -march=native expands to for you. As there are a load of spills in this code the extra move is likely a remanent of a late removed spill. It looks like you are talking about the function _ZN11ML_BSSN_FD4L34ML_BSSN_FD4_EvolutionInterior_BodyEPK4_cGHiiPKdS4_S4_PKiS6_iPrKPd._omp_fn.0 created from ML_BSSN_FD4::ML_BSSN_FD4_EvolutionInterior_Body. Confirmed there are a load of spills in the code, couldn't find the specific sequence with using -march=core-avx2 (but I'm also not running on darwin which will make assembler look differently). Looks like GCC 6 spills a lot less here.