Teach combineVectorSizedSetCCEquality() to handle arbitrary memcmp expansions but do not change any default policy for now.
This also fixes a bug in the memcmp expansion itself when large displacements are needed.
Paths
| Differential D69507
[X86] Make memcmp vector lowering handle arbitrary expansions ClosedPublic Authored by davezarzycki on Oct 28 2019, 5:47 AM.
Details
Summary Teach combineVectorSizedSetCCEquality() to handle arbitrary memcmp expansions but do not change any default policy for now. This also fixes a bug in the memcmp expansion itself when large displacements are needed.
Diff Detail
Event TimelineComment Actions Ping. This patch is essentially just bug fixes and a prerequisite change so that we might have a more focused conversation in D69044. Thanks! This revision is now accepted and ready to land.Oct 29 2019, 11:52 PM
Revision Contents
Diff 226652 lib/CodeGen/ExpandMemCmp.cpp
lib/Target/X86/X86ISelLowering.cpp
test/CodeGen/PowerPC/memcmpIR.ll
test/CodeGen/X86/memcmp-more-load-pairs.ll
test/Transforms/ExpandMemCmp/X86/memcmp.ll
|