https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63375
--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> --- How is that observable (other than looking at the assembly)? val1 is an automatic variable whose address doesn't escape to other threads, and isn't volatile either. Why do you care?