This is an archive of the discontinued LLVM Phabricator instance.

[X86][SSE] Bitcast assertion in XFormVExtractWithShuffleIntoLoad
ClosedPublic

Authored by RKSimon on Oct 22 2014, 11:45 AM.

Details

Summary

Minor patch to fix an issue in XFormVExtractWithShuffleIntoLoad where a load is unary shuffled, then bitcast (to a type with the same number of elements) before extracting an element.

An undef was created for the second shuffle operand using the original (post-bitcasted) vector type instead of the pre-bitcasted type like the rest of the shuffle node - this was then causing an assertion on the different types later on inside SelectionDAG::getVectorShuffle.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon updated this revision to Diff 15265.Oct 22 2014, 11:45 AM
RKSimon retitled this revision from to [X86][SSE] Bitcast assertion in XFormVExtractWithShuffleIntoLoad.
RKSimon updated this object.
RKSimon edited the test plan for this revision. (Show Details)
RKSimon added reviewers: chandlerc, spatel.
RKSimon set the repository for this revision to rL LLVM.
RKSimon added a subscriber: Unknown Object (MLST).
qcolombet accepted this revision.Oct 22 2014, 4:10 PM
qcolombet added a reviewer: qcolombet.
qcolombet added a subscriber: qcolombet.

Hi Simon,

LGTM.

Thanks,
-Quentin

This revision is now accepted and ready to land.Oct 22 2014, 4:10 PM
RKSimon closed this revision.Oct 24 2014, 2:15 PM
RKSimon updated this revision to Diff 15437.

Closed by commit rL220592 (authored by @RKSimon).