This is an archive of the discontinued LLVM Phabricator instance.

[X86][SSE] Update register class during MOVSD/MOVSS - BLENDPD/BLENDPS commutation
ClosedPublic

Authored by RKSimon on Oct 5 2016, 7:22 AM.

Details

Summary

MOVSD/MOVSS take a 128-bit register and a FR32/FR64 register input, the commutation code wasn't take this into account leading to verification errors.

This patch inserts a vreg copy mi to ensure that the registers are correct.

Fix for PR30607

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon updated this revision to Diff 73645.Oct 5 2016, 7:22 AM
RKSimon retitled this revision from to [X86][SSE] Update register class during MOVSD/MOVSS - BLENDPD/BLENDPS commutation.
RKSimon updated this object.
RKSimon set the repository for this revision to rL LLVM.
RKSimon added a subscriber: llvm-commits.
uabelho edited edge metadata.Oct 5 2016, 11:28 PM

Great! It solves the problem I saw and I didn't see any regressions in the testing I've done so far with the patch applied.

qcolombet accepted this revision.Oct 6 2016, 3:13 PM
qcolombet edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Oct 6 2016, 3:13 PM
This revision was automatically updated to reflect the committed changes.