This is an archive of the discontinued LLVM Phabricator instance.

[x86] add load fold patterns for movddup with vzext_load
ClosedPublic

Authored by spatel on Dec 20 2018, 9:17 AM.

Details

Summary

The missed load folding noticed in D55898 is visible independent of that change either with an adjusted IR pattern to start or with AVX2 (where the build vector becomes a broadcast first; movddup is not produced until we get into isel via tablegen patterns).

Diff Detail

Repository
rL LLVM

Event Timeline

spatel created this revision.Dec 20 2018, 9:17 AM

Does AVX512 avoid this somehow or do we need these patterns there too?

spatel updated this revision to Diff 179292.Dec 21 2018, 8:20 AM

Patch updated:
Add pattern for AVX512VL. I moved the dedicated test for this bug (rL349920), so we'd have a single file with the relevant RUN lines without adding a bunch of noise.

RKSimon accepted this revision.Dec 21 2018, 8:58 AM

LGTM - thanks.

This revision is now accepted and ready to land.Dec 21 2018, 8:58 AM
This revision was automatically updated to reflect the committed changes.