https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84823
--- Comment #3 from A. Wilcox (awilfox) <awilfox at adelielinux dot org> --- Tried disabling every single optimisation that was enabled by default in sequence, yielding the following results: % for i in $(cat gcc-options); do timeout 10 gcc -I.. -I.. -O2 -ggdb -march=pentium-mmx -mtune=pentium-m -fno-omit-frame-pointer -DHAVE_CONFIG_H -O2 -ggdb -march=pentium-mmx -mtune=pentium-m -fno-omit-frame-pointer -g -g -ggdb3 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wbad-function-cast -Wnested-externs -MT ecc-mul-a-test.o -MD -MP -MF ecc-mul-a-test.o.d -c ecc-mul-a-test.c $i && printf "$i fixed it\n"; done -fno-guess-branch-probability fixed it -fno-inline fixed it -fno-tree-ter fixed it I don't know if this helps any or not.