[Bug testsuite/122961] vect-reduc-dot-s8b.c and vect-reduc-pattern-2c.c XPASS since r16-4411-gb6e802fd55d
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Mar 4 08:27:06 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122961
--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, so the reason is the pattern detection (but not application!) scan is based
on the vectorization to eventually succeed. But:
/vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c:30:14:
note: ==> examining statement: _2 = (signed short) _1;
/vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c:30:14:
note: vect_is_simple_use: operand X[i_17], type of def: internal
/vol/gcc/src/hg/master/local/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c:30:14:
missed: conversion not supported by target.
that's signed extension V8QI -> V4HI.
We already conditionalize "vectorized 1 loops" on vect_widen_mult_qi_to_hi,
I think a bit too restrictive, but the easiest fix is to conditionalize
the dot-prod scan to the same condition. Or simply remove it, it's somewhat
pointless IMO.
I think originally the testcase was to allow also a used dot_prod
vectorization,
but I don't know a target that can do dot_prod qi->hi, x86 does v16qi->v4si
only.
I'll adjust accordingly.
More information about the Gcc-bugs
mailing list