summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-02-06 18:18:36 +0000
committerTim Northover <tnorthover@apple.com>2014-02-06 18:18:36 +0000
commitf0e21616f332fb504f28f6115a9e72b6ee929717 (patch)
tree5c6ceb4f37612b15777334fd68569069a186e3c9 /llvm/lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
parente17f37082b875f2f011fad60877a17987ab1ada2 (diff)
downloadbcm5719-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
OpenPOWER on IntegriCloud