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]$

Reply via email to