https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122601
Bug ID: 122601
Summary: vectorizer COMPLEX_FMS detection i snot a match to
cmls<mode>4 bespite being
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
Assignee: unassigned at gcc dot gnu.org
Reporter: igor at tachyum dot com
Target Milestone: ---
GCC internals chapter "Standard Pattern Names For Generation" states that
"cmls<mode>4" is vectorized complex operation A*B-C
internals-fn.def ties COMPLEX_FMS with cmls:
DEF_INTERNAL_OPTAB_FN (COMPLEX_FMS, ECF_CONST, cmls, ternary)
But in tree-vect-slp-patterns.cc when vectorizer matches patterns to
COMPLEX_FMS
In reality, it instead has detection of FNMA: -A*B+C or C-A*B