https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71626
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code Status|UNCONFIRMED |NEW Last reconfirmed| |2016-06-23 CC| |jakub at gcc dot gnu.org, | |msebor at gcc dot gnu.org Summary|ICE at -O1 and above on |[4.9/5/6/7 regression] ICE |x86_64-linux-gnu (in |at -O1 and above on |output_constant_pool_2, at |x86_64-linux-gnu (in |varasm.c:3837) |output_constant_pool_2, at | |varasm.c:3837) Ever confirmed|0 |1 Known to fail| |4.9.3, 5.3.0, 6.1.0, 7.0 --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed with r204274 (gcc 4.9.0) as the root cause: r204274 | jakub | 2013-10-31 15:06:49 -0400 (Thu, 31 Oct 2013) | 19 lines * optabs.c (expand_vec_perm): Avoid vector mode punning SUBREGs in SET_DEST. * expmed.c (store_bit_field_1): Likewise. * config/i386/sse.md (movdi_to_sse, vec_pack_sfix_trunc_v2df, vec_pack_sfix_v2df, vec_shl_<mode>, vec_shr_<mode>, vec_interleave_high<mode>, vec_interleave_low<mode>): Likewise. * config/i386/i386.c (ix86_expand_vector_move_misalign, ix86_expand_sse_movcc, ix86_expand_int_vcond, ix86_expand_vec_perm, ix86_expand_sse_unpack, ix86_expand_args_builtin, ix86_expand_vector_init_duplicate, ix86_expand_vector_set, emit_reduc_half, expand_vec_perm_blend, expand_vec_perm_pshufb, expand_vec_perm_interleave2, expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq, expand_vec_perm_vpshufb2_vpermq_even_odd, expand_vec_perm_even_odd_1, expand_vec_perm_broadcast_1, expand_vec_perm_vpshufb4_vpermq2, ix86_expand_sse2_mulv4si3, ix86_expand_pinsr): Likewise. (expand_vec_perm_palignr): Likewise. Modify a copy of *d rather than *d itself.