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 | 0c245b69f7a6b9eaa1386f7c2251a47a253ced62 (patch) | |
tree | da0f2a7a9d37fa05b043a4a3f3505531a8facc43 /include | |
parent | 6984ee6aa262a0ab3b49a161066f4fab941a2ee6 (diff) | |
download | llvm-0c245b69f7a6b9eaa1386f7c2251a47a253ced62.tar.gz llvm-0c245b69f7a6b9eaa1386f7c2251a47a253ced62.tar.bz2 llvm-0c245b69f7a6b9eaa1386f7c2251a47a253ced62.tar.xz |
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@200928 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions