This is an archive of the discontinued LLVM Phabricator instance.

[DAGCombiner] fold extract_subvector of extract_subvector
ClosedPublic

Authored by spatel on Jan 28 2019, 9:13 AM.

Details

Summary

This is the sibling fold for insert-of-insert that was added with D56604.

Now that we have x86 shuffle narrowing (D57156), this change shows improvements for lots of AVX512 reduction code (not sure that we would ever expect extract-of-extract otherwise).

There's a small regression in some of the partial-permute tests (extracting followed by splat). I'll try to reduce that and file a bug.

Diff Detail

Repository
rL LLVM

Event Timeline

spatel created this revision.Jan 28 2019, 9:13 AM
spatel marked an inline comment as done.Jan 28 2019, 10:27 AM
spatel added inline comments.
test/CodeGen/X86/avx512-shuffles/partial_permute.ll
3806–3815 ↗(On Diff #183882)
RKSimon accepted this revision.Jan 29 2019, 8:04 AM

LGTM

This revision is now accepted and ready to land.Jan 29 2019, 8:04 AM
This revision was automatically updated to reflect the committed changes.