https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104658
Bug ID: 104658 Summary: Inefficient vectorization using mask CTORs Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: rguenth at gcc dot gnu.org Target Milestone: --- Originally observed as part of PR101636 - we are sometimes mixing mask & non-mask vector defs resulting in external defs for SLP nodes of mask type which are not code-generated efficiently, resulting in <signed-boolean:1> _135 = _49 ? -1 : 0; _144 = { _135, .... } and quite awful bit-insert code. That's not expected cost wise and the appropriate fix is to the bool pattern recog which should have prepared the IL to avoid the situation.