Page MenuHomePhabricator

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

Authored by nikic on Tue, May 21, 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.Tue, May 21, 2:50 PM
Herald added a project: Restricted Project. · View Herald TranscriptTue, May 21, 2:50 PM
spatel accepted this revision.Tue, May 21, 3:35 PM

LGTM

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