https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80274
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |WONTFIX
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> ---
It is done on purpose to avoid Length Changing Prefix Stall:
[hjl@gnu-6 tmp]$ cat s.c
void foo() {
*(unsigned short *)0xFFFF=1;
}
[hjl@gnu-6 tmp]$ gcc -S -O2 s.c -mtune-ctrl="^lcp_stall"
[hjl@gnu-6 tmp]$ cat s.s
.file "s.c"
.text
.p2align 4,,15
.globl fo
.type foo, @function
foo:
.LFB0:
.cfi_startproc
movw $1, 65535
ret
.cfi_endproc
.LFE0:
.size foo, .-foo
.ident "GCC: (GNU) 6.3.1 20170216 (Red Hat 6.3.1-3)"
.section .note.GNU-stack,"",@progbits
[hjl@gnu-6 tmp]$