This is an archive of the discontinued LLVM Phabricator instance.

[SLP] Allow vectorization of reversed loads.
ClosedPublic

Authored by ABataev on Feb 7 2018, 7:33 AM.

Details

Summary

Reversed loads are handled as gathering. But we can just reshuffle
these values. Patch adds support for vectorization of reversed loads.

Diff Detail

Event Timeline

ABataev created this revision.Feb 7 2018, 7:33 AM
RKSimon accepted this revision.Feb 10 2018, 8:54 AM

LGTM - Please can you add some additional tests that have other load/store orders? Just to prove that only reverse orders are being performed.

This revision is now accepted and ready to land.Feb 10 2018, 8:54 AM

LGTM - Please can you add some additional tests that have other load/store orders? Just to prove that only reverse orders are being performed.

This patch only for loads, for the stores I'm going to prepare another one. We already have tests for jumbled loads, they are not affected by this patch

ABataev updated this revision to Diff 133869.Feb 12 2018, 8:43 AM

Fixed final vectorization of reversed loads by starting from the last load instructions, not the first one.

This revision was automatically updated to reflect the committed changes.