This is an archive of the discontinued LLVM Phabricator instance.

[X86][AVX] Call SimplifyDemandedBits on MaskedLoadSDNode with non-boolean masks
ClosedPublic

Authored by RKSimon on May 23 2020, 12:53 PM.

Details

Summary

On X86 (AVX1/AVX), non-boolean masked loads only demand the sign bit of the mask., we already do the equivalent for masked stores.

Annoyingly I can't easily handle this inside TargetLowering::SimplifyDemandedBits as this is an x86 specific case for a generic node.

Diff Detail

Event Timeline

RKSimon created this revision.May 23 2020, 12:53 PM
Herald added a project: Restricted Project. · View Herald TranscriptMay 23 2020, 12:53 PM
Herald added a subscriber: hiraditya. · View Herald Transcript
craig.topper added inline comments.May 23 2020, 2:48 PM
llvm/lib/Target/X86/X86ISelLowering.cpp
42933

Do we ever have expanding loads with non-i1 masks?

RKSimon marked an inline comment as done.May 24 2020, 12:19 AM
RKSimon added inline comments.
llvm/lib/Target/X86/X86ISelLowering.cpp
42933

Not that I know of - I'll put the early-out back

RKSimon updated this revision to Diff 265911.May 24 2020, 12:43 AM

Restore expanding load early out.

This revision is now accepted and ready to land.May 24 2020, 1:13 AM
This revision was automatically updated to reflect the committed changes.