This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Asm: Support for indexed DUP instructions.
ClosedPublic

Authored by sdesmalen on May 30 2018, 11:46 PM.

Details

Summary

Unpredicated copy of indexed SVE element to SVE vector,
along with MOV-aliases.

For example:

dup     z0.h, z1.h[0]

duplicates the first 16-bit element from z1 to all elements in
the result vector z0.

Diff Detail

Repository
rL LLVM

Event Timeline

sdesmalen created this revision.May 30 2018, 11:46 PM
SjoerdMeijer accepted this revision.Jun 1 2018, 9:02 AM

Looks okay to me.

lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
5035 ↗(On Diff #149235)

just checking: tryParseVectorIndex can also return NoMatch, which we map on Success. I guess that's okay because the index is optional.

This revision is now accepted and ready to land.Jun 1 2018, 9:02 AM
sdesmalen added inline comments.Jun 3 2018, 11:44 PM
lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
5035 ↗(On Diff #149235)

Yes that was indeed the reasoning.

This revision was automatically updated to reflect the committed changes.