This is an archive of the discontinued LLVM Phabricator instance.

[X86] Don't compare i128 through vector if construction not cheap (PR41971)
ClosedPublic

Authored by nikic on May 21 2019, 2:50 PM.

Details

Summary

Fix for https://bugs.llvm.org/show_bug.cgi?id=41971. Make the combineVectorSizedSetCCEquality() transform more conservative by checking that the bitcast to the vector type will be cheap/free for both operands. I'm considering it cheap if it's a constant, a load or already a vector. I've dropped the explicit check for f128 because it should fall out naturally (in the cases where it'd be detrimental).

Diff Detail

Repository
rL LLVM

Event Timeline

nikic created this revision.May 21 2019, 2:50 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 21 2019, 2:50 PM
spatel accepted this revision.May 21 2019, 3:35 PM

LGTM

This revision is now accepted and ready to land.May 21 2019, 3:35 PM
This revision was automatically updated to reflect the committed changes.