https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109469
Alexander Monakov <amonakov at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amonakov at gcc dot gnu.org --- Comment #6 from Alexander Monakov <amonakov at gcc dot gnu.org> --- Not a dup. Why is SLP emitting a vector construction in BB 2 and not BB 4? (-fno-tree-slp-vectorize disables it): void dummy_write_proc () { + void (*<T24b>) () * vectp.4; + vector(2) long unsigned int * {ref-all} vectp_myproc.3; + long unsigned int _7; + long unsigned int _8; + vector(2) long unsigned int _9; + <bb 2> [local count: 1073741824]: + _7 = VIEW_CONVERT_EXPR<long unsigned int>(dummy_write_proc); + _8 = VIEW_CONVERT_EXPR<long unsigned int>(dummy_write_proc); + _9 = {_8, _7}; # DEBUG BEGIN_STMT foo (); goto <bb 4>; [99.96%] <bb 3> [local count: 429496]: .ABNORMAL_DISPATCHER (0); <bb 4> [local count: 1073312329]: # DEBUG BEGIN_STMT - myproc.write_proc = dummy_write_proc; - myproc.read_proc = dummy_write_proc; + MEM <vector(2) long unsigned int> [(void (*<T24b>) () *)&myproc] = _9; return; }