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/63910] [5 Regression] ICE: simplify_immed_subreg, at simplify-rtx.c:5519 with -mstringop-strategy=vector_loop -mavx512f


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

--- Comment #2 from UroÅ Bizjak <ubizjak at gmail dot com> ---
The compiler trips:

#2  0x0000000000a8e290 in simplify_immed_subreg (outermode=OImode,
op=0x2aaaae7afda0, innermode=<optimized out>, byte=<optimized out>)
    at ../../gcc-svn/trunk/gcc/simplify-rtx.c:5519
5519                gcc_assert (GET_MODE_PRECISION (outer_submode)
(gdb) list
5514                      buf |= (unsigned HOST_WIDE_INT)(*vp++ & value_mask)
<< i;
5515
5516                    tmp[u] = buf;
5517                    base += HOST_BITS_PER_WIDE_INT;
5518                  }
5519                gcc_assert (GET_MODE_PRECISION (outer_submode)
5520                            <= MAX_BITSIZE_MODE_ANY_INT);
5521                r = wide_int::from_array (tmp, units,
5522                                          GET_MODE_PRECISION
(outer_submode));
5523                elems[elem] = immed_wide_int_const (r, outer_submode);

trying to simplify

(gdb) p debug_rtx (op)
(const_vector:V8DI [
        (const_int 0 [0])
        (const_int 0 [0])
        (const_int 0 [0])
        (const_int 0 [0])
        (const_int 0 [0])
        (const_int 0 [0])
        (const_int 0 [0])
        (const_int 0 [0])
    ])

to OImode.

MAX_BITSIZE_MODE_ANY_INT is 128 in the above assert.

gcc-4.9 generates movoi without problems:

vmovdqa .LC0(%rip), %ymm0       # 26    *movoi_internal_avx/2   [length = 9]

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