[Bug target/96401] [nvptx] Take advantage of subword ld/st/cvt

vries at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Jul 31 14:03:56 GMT 2020


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

--- Comment #2 from Tom de Vries <vries at gcc dot gnu.org> ---
(In reply to Tom de Vries from comment #1)
> Using these changes, I get the desired:
> ...
>         .reg.u32 %r22;
>                 ld.u32  %r22, [%frame];
>                 st.u16  [%frame+4], %r22;
> ...

And to be precise about it, that's starting at fwprop1 that we have two insns:
...
(insn 5 2 9 2
    (set (reg:SI 22 [ v$0_1 ])
         (mem/v/c:SI (reg/f:DI 2 %frame) [1 v+0 S4 A128]))
    "test.c":7:6 6 {*movsi_insn}
    (nil))
(insn 9 5 0 2
    (set (mem/v/c:HI (plus:DI (reg/f:DI 2 %frame)
                              (const_int 4 [0x4])) [2 v2+0 S2 A32])
         (subreg:HI (reg:SI 22 [ v$0_1 ]) 0))
    "test.c":7:6 5 {*movhi_insn}
    (expr_list:REG_DEAD (reg:SI 23 [ _2 ])
    (nil)))
...

Which is a bit earlier (at 247r) than combine (at 271r).


More information about the Gcc-bugs mailing list