summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Support/Mutex.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@intel.com>2017-12-08 20:10:33 +0000
committerCraig Topper <craig.topper@intel.com>2017-12-08 20:10:33 +0000
commit7f0d456ef8b2500257f3ed9b936fb014fbd29b8b (patch)
treee09b5d63ca73f97cd2724f1e97249ad54410575c /llvm/lib/Support/Mutex.cpp
parent6415f56c792e8292d785214b032766ff5f7be8d4 (diff)
downloadbcm5719-llvm-7f0d456ef8b2500257f3ed9b936fb014fbd29b8b.tar.gz
bcm5719-llvm-7f0d456ef8b2500257f3ed9b936fb014fbd29b8b.zip
[X86] Teach lowering to only let through (insert_subvector (vXi1 zeros), subvec, 0) for vector sizes that have native KSHIFT support.
For narrow sizes we'll widen the zero vector and widen the insert. Then do an extract_subvector to get back down to correct size. This allows us to remove some patterns from the isel table that had to COPY_TO_REGCLASS to an oversized register, do the shift and then COPY_TO_REGCLASS back to the narrow register. Now this is represented explicitly in the DAG. This seems to have perturbed the register allocation in one of the tests, but the number of instructions didn't change. llvm-svn: 320190
Diffstat (limited to 'llvm/lib/Support/Mutex.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud