This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SME2] Add Multi-vector saturating extract narrow and interleave intrinsics
ClosedPublic

Authored by CarolineConcatto on Jan 19 2023, 1:11 AM.

Details

Summary

Add the following intrinsic:

SQCVTN
SQCVTUN
UQCVTN

NOTE: These intrinsics are still in development and are subject to future changes.

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald TranscriptJan 19 2023, 1:11 AM
CarolineConcatto requested review of this revision.Jan 19 2023, 1:11 AM
Herald added a project: Restricted Project. · View Herald TranscriptJan 19 2023, 1:11 AM

Hi Carol,
I just spotted one issue with the SVE2p1_Cvt_VG2_Pat class, but otherwise I think this patch looks good!

llvm/lib/Target/AArch64/SVEInstrFormats.td
554

I think this should be ZPR2Mul2, as the register operand for the multiclass is ZZ_s_mul_r?

  • Replace ZPR2 by ZPR2Mul2 in s SVE2p1_Cvt_VG2_Pat
CarolineConcatto marked an inline comment as done.Jan 20 2023, 7:23 AM

Thank you @kmclaughlin.
You are correct, I replaced now.

kmclaughlin accepted this revision.Jan 20 2023, 8:46 AM
This revision is now accepted and ready to land.Jan 20 2023, 8:46 AM