diff options
author | Tim Northover <tnorthover@apple.com> | 2014-02-06 18:18:36 +0000 |
---|---|---|
committer | Tim Northover <tnorthover@apple.com> | 2014-02-06 18:18:36 +0000 |
commit | f0e21616f332fb504f28f6115a9e72b6ee929717 (patch) | |
tree | 5c6ceb4f37612b15777334fd68569069a186e3c9 /llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp | |
parent | e17f37082b875f2f011fad60877a17987ab1ada2 (diff) | |
download | bcm5719-llvm-f0e21616f332fb504f28f6115a9e72b6ee929717.tar.gz bcm5719-llvm-f0e21616f332fb504f28f6115a9e72b6ee929717.zip |
X86: add costs for 64-bit vector ext/trunc & rebalance
The most important part of this is probably adding any cost at all for
operations like zext <8 x i8> to <8 x i32>. Before they were being
recorded as extremely costly (24, I believe) which made LLVM fall back
on a 4-wide vectorisation of a loop.
It also rebalances the values for sext, zext and trunc. Lacking any
other sane metric that might work across CPU microarchitectures I went
for instructions. This seems to be in reasonable accord with the rest
of the table (sitofp, ...) though no doubt at least one value is
sub-optimal for some bizarre reason.
Finally, separate AVX and AVX2 values are provided where appropriate.
The CodeGen is quite different in many cases.
rdar://problem/15981990
llvm-svn: 200928
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp')
0 files changed, 0 insertions, 0 deletions