This is an archive of the discontinued LLVM Phabricator instance.

[AArch64]SME2 Multi-vector-Multiple Vectors SQDMULH instructions
ClosedPublic

Authored by CarolineConcatto on Oct 10 2022, 6:21 AM.

Details

Summary

This patch adds the assembly/disassembly for the following instruction:

SQDMULH (multiple vectors): Multi-vector signed saturating doubling multiply high.

For 2 and 4 ZA registers

The reference can be found here:
https://developer.arm.com/documentation/ddi0602/2022-09/SME-Instructions/SQDMULH--multiple-vectors---Multi-vector-signed-saturating-doubling-multiply-high-?lang=en

Depends on: D135563

Diff Detail

Event Timeline

CarolineConcatto requested review of this revision.Oct 10 2022, 6:21 AM
Herald added a project: Restricted Project. · View Herald TranscriptOct 10 2022, 6:21 AM
Matt added a subscriber: Matt.Oct 10 2022, 10:52 PM
CarolineConcatto retitled this revision from [AArch64]SME2 Multi-vector-Multiple Vectors SVE Destructive to [AArch64]SME2 Multi-vector-Multiple Vectors SQDMULH instructions.Oct 19 2022, 6:42 AM
CarolineConcatto edited the summary of this revision. (Show Details)

Do you have any sqdmulh-diagnostics.s with negative tests for these instructions?

llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
276

This should be: 2Z2Z2Z
And the suffix below should be: 4Z4Z4Z

278

Out of interest, why are the multiple and single vector variants of sqdmulh not part of this patch?

  • address review comments

Do you have any sqdmulh-diagnostics.s with negative tests for these instructions?
Yes, in sqdmulh-diagnostics.s. I added more tests

llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
278

No special reason. I just did not wanted this patch
https://reviews.llvm.org/D135563
to become too big.
It is not simple, for myself, to get a balance correct.

sdesmalen accepted this revision.Oct 21 2022, 3:44 AM

Thanks for the addressing the comments.

llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
278

Okay, that's fine.

This revision is now accepted and ready to land.Oct 21 2022, 3:44 AM
This revision was landed with ongoing or failed builds.Oct 21 2022, 7:36 AM
This revision was automatically updated to reflect the committed changes.