https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79430
--- Comment #43 from Bijan Chokoufe <bijan at chokoufe dot com> --- I actually made the same mistake when generating the diffs. I attach the correct diff when --with-precision=extended is given to configure. Similar contents though, as far as I can judge. Strangely, the code without volatile is overall larger: -rw-r--r-- 1 root root 1456592 Apr 18 14:43 shower_core.s -rw-r--r-- 1 root root 1450362 Apr 18 14:20 shower_core_volatile.s