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 rtl-optimization/77541] [7 Regression] wrong code with 512bit vectors of int128 @ -O1


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ra
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-09-09
                 CC|                            |ubizjak at gmail dot com,
                   |                            |vmakarov at gcc dot gnu.org
          Component|target                      |rtl-optimization
     Ever confirmed|0                           |1

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
This is RA failure, where reload tries to fix up:

(insn 54 10 12 2 (parallel [
            (set (reg:DI 105 [ x4 ])
                (lshiftrt:DI (reg:DI 37 r8 [ x4 ])
                    (reg:QI 37 r8 [ x4 ])))
            (clobber (reg:CC 17 flags))
        ]) pr77541.c:10 564 {*lshrdi3_1}
     (expr_list:REG_DEAD (reg:QI 37 r8 [ x4 ])
        (expr_list:REG_UNUSED (reg:CC 17 flags)
            (nil))))

with:

(insn 56 10 58 2 (set (reg:DI 2 cx [orig:127 x4 ] [127])
        (reg:DI 37 r8 [ x4 ])) pr77541.c:10 81 {*movdi_internal}
     (nil))
(insn 58 56 54 2 (set (reg:QI 2 cx [orig:128 x4 ] [128])
        (reg:QI 37 r8 [ x4 ])) pr77541.c:10 85 {*movqi_internal}
     (nil))
(insn 54 58 12 2 (parallel [
            (set (reg:DI 2 cx [orig:127 x4 ] [127])
                (lshiftrt:DI (reg:DI 2 cx [orig:127 x4 ] [127])
                    (reg:QI 2 cx [orig:128 x4 ] [128])))
            (clobber (reg:CC 17 flags))
        ]) pr77541.c:10 564 {*lshrdi3_1}
     (nil))

Please note (insn 58) that overwrites the result of (insn 56), needed in (insn
54).

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