diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-04-06 11:40:37 +0100 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2021-04-06 11:53:22 +0100 |
commit | 201877d57264543d8ac5ca48f15bc0bc7c80b8ce (patch) | |
tree | a1729a6760e3b19701fb63d6a2307061eb687e6f /clang/lib/Frontend/ModuleDependencyCollector.cpp | |
parent | 6eb5b06ecfe4c3263e3df891123959fffe24d32a (diff) | |
download | llvm-201877d57264543d8ac5ca48f15bc0bc7c80b8ce.zip llvm-201877d57264543d8ac5ca48f15bc0bc7c80b8ce.tar.gz llvm-201877d57264543d8ac5ca48f15bc0bc7c80b8ce.tar.bz2 |
[CostModel][X86] Improve accuracy of vXi8 multiply reduction costs
After rG47321c311bdbe0145b9bf45d822185c37b19fa50 we promote vXi8 reductions to vXi16 to create a much faster PMULLW mul reduction, followed by a (free) truncation. This avoids the high cost of repeated vXi8 multiplications (which extend+multiply+truncate to/from vXi16 types....).
Fixes the missing vXi8 mul reduction vectorization in PR42674 (Comment #20) 'mul16' test case.
Diffstat (limited to 'clang/lib/Frontend/ModuleDependencyCollector.cpp')
0 files changed, 0 insertions, 0 deletions