This is an archive of the discontinued LLVM Phabricator instance.

[RISCV] Add SDNode patterns for vandn.[vv,vx]
ClosedPublic

Authored by luke on Jul 17 2023, 3:19 AM.

Details

Summary

Unfortunately we can't use the standard splat_vector and vnot PatFrags because
they are preprocessed to vmv.v.x's, so we need to define helpers to catch
those. We can't use SplatPat either because we need to nest another fragment
inside of it.

Diff Detail

Event Timeline

luke created this revision.Jul 17 2023, 3:19 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 17 2023, 3:19 AM
luke requested review of this revision.Jul 17 2023, 3:19 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 17 2023, 3:19 AM
luke added inline comments.Jul 17 2023, 3:28 AM
llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
239

I'm only matching this scalar form here, although there's another way of representing it that could be canonicalised: https://github.com/llvm/llvm-project/issues/63868

luke updated this revision to Diff 541094.Jul 17 2023, 9:41 AM

Add tests for commuting and operands

This revision is now accepted and ready to land.Jul 17 2023, 6:02 PM
This revision was landed with ongoing or failed builds.Jul 18 2023, 5:53 AM
This revision was automatically updated to reflect the committed changes.