https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71053
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |wrong-code Priority|P3 |P4 Component|c++ |target Target Milestone|--- |6.2 Summary|[6.1 regression] Volatile |[6/7 Regression] Volatile |read optimized into endless |read optimized into endless |loop |loop --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- On x86_64 I get main: .LFB0: .cfi_startproc .L2: movb 1, %al testb $1, %al je .L2 xorl %eax, %eax ret and thus it works fine there. Target issue.