This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Gimple vs ternary operations?


In PR43902, Jim has posted a patch to add support for widening
multiply-accumulate to tree-ssa-math-opts.  They are represented as a
GIMPLE_SINGLE_RHS with a WIDEN_MULT_PLUS_EXPR tree which holds the
actual operands of the multiply-accumulate.  I've modified this a bit so
that we now support gimple statements with a GIMPLE_TERNARY_RHS class
(see the other patch I've added to the PR), but while testing I found
that we already create DOT_PROD_EXPRs, which are also three-operand
expressions, with the same GIMPLE_SINGLE_RHS representation used by
Jim's patch.

What's actually intended here?  Should we add real support for
three-operand gimple statements and change the code that generates
DOT_PROD_EXPR, or should we add WIDEN_MULT_{PLUS,MINUS}_EXPR in the same
way DOT_PROD_EXPR is handled at the moment?


Bernd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]