This is an archive of the discontinued LLVM Phabricator instance.

ARMEB: Fix trunc DAG combining for vector types
Needs ReviewPublic

Authored by cpirker on Jun 24 2014, 6:32 AM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Hi all,

The DAG combiner for trunc operations performs a specific folding of buildvector, bitcast and truncate operations into a single buildvector operation. The current implementation is intended for little endian mode only and does not take the big endian order of data into account.

This patch implements the element selection for buildvector for the least significant data (trunc) based upon the "higher side" of vector element.

Although this patch is issued for the ARM BE target, it affects all big endian targets.

Please review, thanks,
Christian

Diff Detail

Event Timeline

cpirker updated this revision to Diff 10786.Jun 24 2014, 6:32 AM
cpirker retitled this revision from to ARMEB: Fix trunc DAG combining for vector types.
cpirker updated this object.
cpirker edited the test plan for this revision. (Show Details)
cpirker added subscribers: Unknown Object (MLST), Konrad.