summaryrefslogtreecommitdiffstats
path: root/clang/lib/Parse/ParseStmt.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2019-03-24 19:06:35 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2019-03-24 19:06:35 +0000
commit87d4ab8b92e17db517499403eaa2e0b19992fae2 (patch)
tree0c973e1dd13a30f2acd11e595f2201c6560f7fd0 /clang/lib/Parse/ParseStmt.cpp
parent6af0363857f5815fb69268198dd55f29c7a3539b (diff)
downloadbcm5719-llvm-87d4ab8b92e17db517499403eaa2e0b19992fae2.tar.gz
bcm5719-llvm-87d4ab8b92e17db517499403eaa2e0b19992fae2.zip
[X86][SSE41] Start shuffle combining from ZERO_EXTEND_VECTOR_INREG (PR40685)
Enable SSE41 ZERO_EXTEND_VECTOR_INREG shuffle combines - for the PMOVZX(PSHUFD(V)) -> UNPCKH(V,0) pattern we reduce the shuffles (port5-bottleneck on Intel) at the expense of creating a zero (pxor v,v) and an extra register move - which is a good trade off as these are pretty cheap and in most cases it doesn't increase register pressure. This also exposed a missed opportunity to use combine to ZERO_EXTEND_VECTOR_INREG with folded loads - even if we're in the float domain. llvm-svn: 356864
Diffstat (limited to 'clang/lib/Parse/ParseStmt.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud