summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/MachineOperand.cpp
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-12-19 13:16:43 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-12-19 13:16:43 +0000
commitfd5df639a3c464b5be20c5cd7746528b369fa740 (patch)
tree4e927b1d84318cd7a227d70932e03c8b0ebdc9cb /llvm/lib/CodeGen/MachineOperand.cpp
parentb536a2a5ba0958619b6e9ce6304f863845eeda30 (diff)
downloadbcm5719-llvm-fd5df639a3c464b5be20c5cd7746528b369fa740.tar.gz
bcm5719-llvm-fd5df639a3c464b5be20c5cd7746528b369fa740.zip
[X86][SSE] Add cpu feature for aggressive combining to variable shuffles
As mentioned in D38318 and D40865, modern Intel processors prefer to combine multiple shuffles to a variable shuffle mask (PSHUFB/VPERMPS etc.) instead of having multiple stage 'fixed' shuffles which put more pressure on Port 5 (at the expense of extra shuffle mask loads). This patch provides a FeatureFastVariableShuffle target flag for Haswell+ CPUs that prefers combining 2 or more fixed shuffles to a single variable shuffle (default is 3 shuffles). The long term aim is to drive more of this from schedule data (probably via the MC) but we're not close to being ready for that yet. Differential Revision: https://reviews.llvm.org/D41323 llvm-svn: 321074
Diffstat (limited to 'llvm/lib/CodeGen/MachineOperand.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud