https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64590
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- That most likely means a failed assertion implemented on the mozilla side as store to NULL pointer followed to __builtin_trap () just in case. Anyway, that doesn't look like a reason for the -march=nehalem vs. -march=sandybridge differences. If that really turns a working binary into non-working, perhaps try to bisect between -march=nehalem -O3 and -march=sandybridge -O3 (forget about -floop-interchange -floop-strip-mine -floop-block everywhere) built *.o files, until you find the problematic one. Then using __attribute__((target ("march=sandybridge"))) in -march=nehalem compiled object (or vice versa) you could try to bisect between different routines to find out where the problem is.