On Wed, 7 Jan 2026, Rainer Orth wrote: > Hi Richard, > > >> very true: unless you're intimately familar with vectorization, it's > >> quite some guesswork which effective-target to use currently. > > > > And even the vectorizer dump could be improved to mention relevant > > missed optabs (sometimes it's multiple ones or one of many, of course...) > > indeed: the worst offender recently was PR tree-optimization/123195 > where you get the most useless > > gcc.dg/vect/pr104116-ceil-div-2.c:11:1: missed: no optab. > gcc.dg/vect/pr104116-ceil-div-2.c:11:1: missed: not vectorized: relevant > stmt not supported: _5 = _4 /[cl] 2; > > message. I'd had to run a debug cc1 under gdb to determine which of the > two instances of the same message in tree-vect-stmts.cc > (vectorizable_shift, vectorizable_operation) this was from ;-(
Hmm, I'd have expected the message from vectorizable_shift to be dead code, but /[cl] (CEIL_DIV_EXPR) definitely isn't handled but we expect patterns to be used here (but their target support checks likely fail for you). The /[cl] should have directed you to the correct place ;) I'll test a patch to make the message a bit more verbose and add 'shift' to the shift variants. Richard. > > Rainer > > -- Richard Biener <[email protected]> SUSE Software Solutions Germany GmbH, Frankenstrasse 146, 90461 Nuernberg, Germany; GF: Jochen Jaser, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)
