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]