This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add support for matching vwmul(u) and vwmacc(u) from fixed vectors.
ClosedPublic

Authored by craig.topper on Jun 23 2021, 11:18 AM.

Details

Summary

This adds a DAG combine to detect sext/zext inputs and emit a
new ISD opcode. The extends will either be removed or replaced
with narrower extends.

Isel patterns are used to match add and widening mul to vwmacc
similar to the recently added vmacc patterns.

There's still some work to be to match vmulsu.
We should also rewrite splats that were extended as scalars and
then splatted.

Diff Detail

Event Timeline

craig.topper created this revision.Jun 23 2021, 11:18 AM
craig.topper requested review of this revision.Jun 23 2021, 11:18 AM
Herald added a project: Restricted Project. · View Herald TranscriptJun 23 2021, 11:18 AM
Herald added a subscriber: MaskRay. · View Herald Transcript

Reword a comment slightly

arcbbb accepted this revision.Jul 6 2021, 9:46 AM

LGTM

This revision is now accepted and ready to land.Jul 6 2021, 9:46 AM
This revision was landed with ongoing or failed builds.Jul 6 2021, 10:24 AM
This revision was automatically updated to reflect the committed changes.