This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/69693] Wrong mode is used to load spilled register


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69693

UroÅ Bizjak <ubizjak at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |vmakarov at gcc dot gnu.org

--- Comment #3 from UroÅ Bizjak <ubizjak at gmail dot com> ---
(In reply to H.J. Lu from comment #2)

> It is a backend bug. We need to add

It is not.

Please see in reload dump, where:
    3: r109:DI=[argp:SI+0x8]
    Inserting insn reload after:
   43: r95:DI=r109:DI
...
   15: r111:V2DI=r111:V2DI&r108:DI#0
      REG_DEAD r108:DI
      REG_DEAD r95:DI
    Inserting insn reload before:
   45: r111:V2DI=r95:DI#0
    Inserting insn reload after:
   46: r99:DI#0=r111:V2DI

which results in:

(insn 3 2 43 2 (set (reg/v:DI 2 cx [orig:95 p2 ] [95])
        (mem/c:DI (plus:SI (reg/f:SI 7 sp)
                (const_int 36 [0x24])) [2 p2+0 S8 A32])) pr69693.c:6 85
{*movdi_internal}
     (nil))
(insn 43 3 4 2 (set (mem/c:DI (reg/f:SI 7 sp) [3 %sfp+-16 S8 A128])
        (reg/v:DI 2 cx [orig:95 p2 ] [95])) pr69693.c:6 85 {*movdi_internal}
     (nil))
...
(insn 45 40 15 3 (set (reg:V2DI 23 xmm2 [111])
        (mem/c:V2DI (reg/f:SI 7 sp) [3 %sfp+-16 S16 A128])) pr69693.c:13 1223
{*movv2di_internal}
     (nil))
(insn 15 45 46 3 (set (reg:V2DI 23 xmm2 [111])
        (and:V2DI (reg:V2DI 23 xmm2 [111])
            (reg:V2DI 21 xmm0 [108]))) pr69693.c:13 3471 {*andv2di3}
     (nil))

Please note how (insn 45) is accessing uninitialized memory.

Your patch will just paper over the real issue in this particular testcase.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]