This is an archive of the discontinued LLVM Phabricator instance.

[AArch64]SME2 multi-vec FP/INT down convert 2/4 registers
ClosedPublic

Authored by CarolineConcatto on Oct 10 2022, 8:04 AM.

Details

Summary

This patch implements
Int:

SQCVT: Multi-vector signed saturating extract narrow for 2 and 4 registers.
UQCVT: Multi-vector unsigned saturating extract narrow for 2 and 4 registers.
SQCVTU: Multi-vector signed saturating unsigned extract narrow for 2 and 4 registers
SQCVTN:  Multi-vector signed saturating extract narrow and interleave.
SQCVTUN: Multi-vector signed saturating unsigned extract narrow and interleave.
UQCVTN: Multi-vector unsigned saturating extract narrow and interleave.

FP:

FCVT(narrowing): Multi-vector floating-point convert from single-precision to
                packed half-precision.
FCVTN: Multi-vector floating-point convert from single-precision to
         interleaved half-precision.
BFCVT: Multi-vector floating-point convert from single-precision to packed
       BFloat16 format.
BFCVTN: : Multi-vector floating-point convert from single-precision to
          interleaved BFloat16 format.

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2022-09

Depends on: D135563

Diff Detail

Event Timeline

Herald added a project: Restricted Project. · View Herald TranscriptOct 10 2022, 8:04 AM
CarolineConcatto requested review of this revision.Oct 10 2022, 8:04 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 10 2022, 8:04 AM
Matt added a subscriber: Matt.Oct 10 2022, 10:53 PM
sdesmalen accepted this revision.Oct 19 2022, 9:40 AM
sdesmalen added inline comments.
llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
281

nit: can you group all the ones using sme2_cvt_vg2_single together?

This revision is now accepted and ready to land.Oct 19 2022, 9:40 AM
This revision was landed with ongoing or failed builds.Oct 21 2022, 6:36 AM
This revision was automatically updated to reflect the committed changes.
CarolineConcatto marked an inline comment as done.