diff options
| author | Chandler Carruth <chandlerc@gmail.com> | 2014-10-03 11:25:58 +0000 |
|---|---|---|
| committer | Chandler Carruth <chandlerc@gmail.com> | 2014-10-03 11:25:58 +0000 |
| commit | 971a560cb85a5462a54210f1e425b6724e7e854d (patch) | |
| tree | af4045970fd42119abc550af0375d5f326f4d18a /llvm/lib/Support/ThreadLocal.cpp | |
| parent | 080cab91e1c5b341dddc2e1e628001f4ed885ac2 (diff) | |
| download | bcm5719-llvm-971a560cb85a5462a54210f1e425b6724e7e854d.tar.gz bcm5719-llvm-971a560cb85a5462a54210f1e425b6724e7e854d.zip | |
[x86] Significantly improve the ability of the new vector shuffle
lowering to match VZEXT_MOVL patterns.
I hadn't realized that these had sufficient pattern smarts in the
backend to lower zext-ing from the low element of a vector without it
being a scalar_to_vector node. They do, and this is how to match a bunch
of patterns for movq, movss, etc.
There is a weird propensity to end up using pshufd to place the element
afterward even though it means domain crossing (or rather, to use
xorps+movss to zext the element rather than movq) but that's an
orthogonal problem with VZEXT_MOVL that someone should probably look at.
llvm-svn: 218977
Diffstat (limited to 'llvm/lib/Support/ThreadLocal.cpp')
0 files changed, 0 insertions, 0 deletions

