https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86948

--- Comment #2 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
Thanks for the heads-up. At present, BRIG frontend cannot rely on
MULT_HIGHPART, as the pattern is optional and, as this bug shows, generic
expansion is not implemented. BRIG frontend is already somewhat aware of the
issue, as the comment in brig-basic-inst-handler.cc indicates:

554       /* MULT_HIGHPART_EXPR works only on target dependent vector sizes and
555          even the scalars do not seem to work at least for char elements.
556
557          Let's fall back to scalarization and promotion [...]

So a quick-fix would be to never try to use MULT_HIGHPART_EXPR from BRIG FE.

However, I think it would be nice to extend expand_mult_highpart to handle
this, at least to avoid regressing here. I'll look into that. I'll also try to
expose MULT_HIGHPART_EXPR via the GIMPLE FE so it can be tested in a more
straightforward manner.

Reply via email to