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

--- Comment #7 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to David Binderman from comment #5)
> Certainly works for -O3, but doesn't for -O3 -march=bdver2.
> 
> during RTL pass: expand
> ./gcc.dg/vect/pr101505.c: In function ‘w7.simdclone.6’:
> ./gcc.dg/vect/pr101505.c:15:10: internal compiler error: in expand_mult, at
> expm
> ed.c:3585
>    15 |   return xb;
>       |          ^~
> 0x91344a expand_mult(machine_mode, rtx_def*, rtx_def*, rtx_def*, int, bool)
>       ../../trunk.git/gcc/expmed.c:3585
> 
> It breaks sometime between git hash 145bc41dae7c7bfa and 14d8a5ae472ca574

This is a different bug though, probably caused by HJs changes, looks like
the fixed PR101742, indeed updating and re-building my dev tree makes the
issue go away.

gcc.dg/vect/pr101505.c:15:10: internal compiler error: in expand_mult, at
expmed.c:3585
0xe14f0a expand_mult(machine_mode, rtx_def*, rtx_def*, rtx_def*, int, bool)
        /home/rguenther/src/gcc2/gcc/expmed.c:3585
0xc3584d builtin_memset_gen_str
        /home/rguenther/src/gcc2/gcc/builtins.c:4124
0xe25ee4 pieces_addr::adjust(fixed_size_mode, long, by_pieces_prev*)
        /home/rguenther/src/gcc2/gcc/expr.c:1036
0xe268a8 op_by_pieces_d::run()
        /home/rguenther/src/gcc2/gcc/expr.c:1252
0xe273ed store_by_pieces(rtx_def*, unsigned long, rtx_def* (*)(void*, void*,
long, fixed_size_mode), void*, unsigned int, bool, memop_ret)
        /home/rguenther/src/gcc2/gcc/expr.c:1579

Reply via email to