This is an archive of the discontinued LLVM Phabricator instance.

[AArch64] Add EXT patterns for 64-bit EXT of a subvector of a 128-bit vector
ClosedPublic

Authored by john.brawn on Oct 23 2018, 8:28 AM.

Details

Summary

If we have a 64-bit EXT where one of the operands is a subvector of a 128-bit vector then in some cases we can eliminate an extract_subvector by converting to a 128-bit EXT of the 128-bit vector.

Diff Detail

Repository
rL LLVM

Event Timeline

john.brawn created this revision.Oct 23 2018, 8:28 AM
dmgreen accepted this revision.Oct 25 2018, 4:21 AM

I've managed to convince myself that this looks OK. A couple of nits depending on what you think of them.

Otherwise LGTM.

lib/Target/AArch64/AArch64InstrInfo.td
4164 ↗(On Diff #170655)

Perhaps call this Add8 or something like it? Up to you.

4165 ↗(On Diff #170655)

It looks like the i64 from here is an i32 everywhere else

This revision is now accepted and ready to land.Oct 25 2018, 4:21 AM
This revision was automatically updated to reflect the committed changes.