Add patterns for SVE2 unpredicated multiply instructions:
- mul, smulh, umulh, pmul, sqdmulh, sqrdmulh
Also removed negative tests for immediate multiply that are set up to fail, since the case now can succeed and also is handled in the new test.
Differential D72799
[SVE] Add SVE2 patterns for unpredicated multiply instructions dancgr on Jan 15 2020, 12:11 PM. Authored by
Details Add patterns for SVE2 unpredicated multiply instructions:
Also removed negative tests for immediate multiply that are set up to fail, since the case now can succeed and also is handled in the new test.
Diff Detail
Event TimelineComment Actions Can we also also add mul patterns for targets that have SVE, but not SVE2?
Comment Actions That instruction is restricted to SVE2. Do we have unpredicated vector mul instructions for SVE targets as well? The way the instruction is implemented did not allow me to match with SVE targets.
Comment Actions We can synthesize a predicate using ptrue. We do this in a few places currently; for example, to implement bswap.
Comment Actions I hadn't thought of that. I will implement SVE fallbacks for the SVE2 instructions using ptrue.
Comment Actions Thanks for efforts on this patch @dancgr! As you can see, I have requested some changes to the patch to avoid diverging too much while we try to upstream the ACLE.
Comment Actions I'm not sure on some parts, but I have prepared a major update for this patch that I hope will fix most of @sdesmalen concerns.
Comment Actions I'm not sure on some parts, but I have prepared a major update for this patch that I hope will fix most of @sdesmalen concerns. Comment Actions Great, thanks for updating your patch! The patch is nearly good to go I think, just one more little change needed to remove _m.
Comment Actions Remove _m from intrinsics, as it is the default behaviour. Also, add unpredicated patterns for SVE2 smulh, umulh.
|