This is an archive of the discontinued LLVM Phabricator instance.

[X86][SSE] Replace (V)CVTDQ2PD(Y) and (V)CVTPS2PD(Y) lossless conversion intrinsics with generic IR
ClosedPublic

Authored by RKSimon on May 24 2016, 6:41 AM.

Details

Summary

Followup to D20528 clang patch, this removes the (V)CVTDQ2PD(Y) and (V)CVTPS2PD(Y) llvm intrinsics and auto-upgrades to sitofp/fpext instead.

Diff Detail

Repository
rL LLVM

Event Timeline

RKSimon updated this revision to Diff 58230.May 24 2016, 6:41 AM
RKSimon retitled this revision from to [X86][SSE] Replace (V)CVTDQ2PD(Y) and (V)CVTPS2PD(Y) lossless conversion intrinsics with generic IR.
RKSimon updated this object.
RKSimon set the repository for this revision to rL LLVM.
RKSimon added a subscriber: llvm-commits.
mkuper accepted this revision.May 24 2016, 10:07 AM
mkuper edited edge metadata.

LGTM with a small nit.

lib/IR/AutoUpgrade.cpp
416 ↗(On Diff #58230)

Shouldn't the 8 here be 2? I think we only get into this case of NumDstElts == 2 (and SrcTy->getNumElements() == 4, which it always is).

This revision is now accepted and ready to land.May 24 2016, 10:07 AM
RKSimon added inline comments.May 24 2016, 10:43 AM
lib/IR/AutoUpgrade.cpp
416 ↗(On Diff #58230)

Nice catch! Thanks Michael.

This revision was automatically updated to reflect the committed changes.