This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Support VP_ADD/VP_SUB/VP_MUL mask operation
AbandonedPublic

Authored by Jimerlife on Apr 20 2022, 3:01 AM.

Details

Summary

Support VP_ADD/VP_SUB/VP_MUL mask operation

Diff Detail

Event Timeline

Jimerlife created this revision.Apr 20 2022, 3:01 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 20 2022, 3:01 AM
Jimerlife requested review of this revision.Apr 20 2022, 3:01 AM

I don't think this is the right way forward. This would be better handled in a target-independent way the same way add/sub/mul are handled, e.g, transformed to a canonical form. I believe this is during initial SelectionDAG creation though I haven't double-checked. So we'd expect vp.add.v4i1 to be lowered to ISD::VP_XOR, etc. And since we already have mask-vector lowering for logical ops, RISCV shouldn't need any modifications.

I don't think this is the right way forward. This would be better handled in a target-independent way the same way add/sub/mul are handled, e.g, transformed to a canonical form. I believe this is during initial SelectionDAG creation though I haven't double-checked. So we'd expect vp.add.v4i1 to be lowered to ISD::VP_XOR, etc. And since we already have mask-vector lowering for logical ops, RISCV shouldn't need any modifications.

I think it's buried inside of getNode.

Jimerlife abandoned this revision.Apr 20 2022, 6:43 PM