This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Fix extract_subvector patterns for unpacked fp types.
ClosedPublic

Authored by sdesmalen on Sep 27 2021, 12:07 AM.

Details

Summary

The patterns added in D110163 were incorrect, since it used the wrong
element widths for its shuffles.

Example for nxv2f16 extract_subvector(nxv8f16 %in, 6):

<a|b|c|d|e|f|g|h>
             ^^^
         extract g and h.

=> UUNPKHI .h -> .s results in:
<e  |f  |g  |h  >

=> UUNPKHI .s -> .d results in:
<g      |h      >

Diff Detail

Event Timeline

sdesmalen created this revision.Sep 27 2021, 12:07 AM
sdesmalen requested review of this revision.Sep 27 2021, 12:07 AM
Herald added a project: Restricted Project. · View Herald TranscriptSep 27 2021, 12:07 AM
sdesmalen edited the summary of this revision. (Show Details)Sep 27 2021, 12:08 AM
david-arm accepted this revision.Sep 27 2021, 1:29 AM

LGTM! Thanks for fixing this and I didn't spot the issue in your original patch either!

This revision is now accepted and ready to land.Sep 27 2021, 1:29 AM
This revision was landed with ongoing or failed builds.Sep 29 2021, 3:15 AM
This revision was automatically updated to reflect the committed changes.