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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2016-07-24
          Component|target                      |rtl-optimization
   Target Milestone|---                         |7.0
     Ever confirmed|0                           |1

--- Comment #1 from Uroš Bizjak <ubizjak at gmail dot com> ---
Confirmed, it looks like fwprop failure:

In insn 29, replacing
 (subreg:DI (reg:V8DI 92 [ D.2632 ]) 8)
 with (const_int 0 [0])
Changed insn 29
deferring rescan insn with uid = 29.

We can trace the value manually from _.222.cse1 dump
(element zero is at the leftmost position):

...

(insn 9 8 10 2 (set (reg:V2DI 96)
        (const_vector:V2DI [
                (const_int 0 [0])
                (const_int 0 [0])
            ])) pr71984.c:8 1236 {movv2di_internal}
     (nil))

r96 = { 0, 0 }

(insn 10 9 11 2 (set (reg:V2DI 97)
        (const_vector:V2DI [
                (const_int 0 [0])
                (const_int 0 [0])
            ])) pr71984.c:8 1236 {movv2di_internal}
     (nil))

r97 = { 0, 0 }

(insn 11 10 12 2 (set (reg:V2DI 98)
        (const_vector:V2DI [
                (const_int 0 [0])
                (const_int 0 [0])
            ])) pr71984.c:8 1236 {movv2di_internal}
     (nil))

r98 = { 0, 0 }

(insn 12 11 13 2 (set (reg:V2DI 99)
        (const_vector:V2DI [
                (const_int 0 [0])
                (const_int 0 [0])
            ])) pr71984.c:8 1236 {movv2di_internal}
     (nil))

r99 = { 0, 0 }

(insn 13 12 14 2 (set (reg:V2DI 99)
        (vec_merge:V2DI (vec_duplicate:V2DI (reg:DI 93))
            (reg:V2DI 99)
            (const_int 2 [0x2]))) pr71984.c:8 3575 {sse4_1_pinsrq}
     (nil))

r99 = { 0, r93 }

(insn 14 13 15 2 (set (reg:V4DI 100)
        (vec_concat:V4DI (reg:V2DI 99)
            (reg:V2DI 98))) pr71984.c:8 4506 {avx_vec_concatv4di}
     (nil))

r100 = { r99, r98 }

(insn 15 14 16 2 (set (reg:V4DI 101)
        (vec_concat:V4DI (reg:V2DI 97)
            (reg:V2DI 96))) pr71984.c:8 4506 {avx_vec_concatv4di}
     (nil))

r101 = { r97, r96 }

(insn 16 15 28 2 (set (reg:V8DI 92 [ D.2632 ])
        (vec_concat:V8DI (reg:V4DI 100)
            (reg:V4DI 101))) pr71984.c:8 4512 {avx_vec_concatv8di}
     (nil))

r92 = { r100, r101 } = { r99, r98, r97, r96 } = { 0, r93, 0, 0, 0, 0, 0, 0 }

(insn 28 16 29 2 (set (reg:DI 105)
        (subreg:DI (reg:V8DI 92 [ D.2632 ]) 0)) pr71984.c:8 81
{*movdi_internal}
     (nil))

r105 = 0

(insn 29 28 30 2 (set (reg:DI 106 [+8 ])
        (subreg:DI (reg:V8DI 92 [ D.2632 ]) 8)) pr71984.c:8 81
{*movdi_internal}
     (nil))

r106 = r93

...

Reply via email to