diff options
author | Craig Topper <craig.topper@gmail.com> | 2019-11-04 22:23:16 -0800 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2019-11-04 22:58:04 -0800 |
commit | 103968d147b135ebfcee69d6d7a1428163e66aaa (patch) | |
tree | 750ffba5c10eb71586843bfec37ed3e49cd5069c /lldb/source/Interpreter/CommandInterpreter.cpp | |
parent | 58acbce3def63a207b8f5a69318a99666a4aac53 (diff) | |
download | bcm5719-llvm-103968d147b135ebfcee69d6d7a1428163e66aaa.tar.gz bcm5719-llvm-103968d147b135ebfcee69d6d7a1428163e66aaa.zip |
[X86] Lower the cost of avx512 horizontal bool and/or reductions to 2*log2(bitwidth)+1 for legal types.
This better represents the kshift+binop we'd get for each stage
before the final extract. Its likely we'll do even better by
doing a kmov and a cmp with a GPR, but this is a good start.
The default handling was costing a worst case single source
permute shuffle of the vector before the binop. This worst
case assumes the shuffle might have to be emulated with
extracts and inserts. But since we know we're doing a reduction
we can assume we'll get kshift lowering.
There's still some room for improvement here, but this is
much better than it was.
Diffstat (limited to 'lldb/source/Interpreter/CommandInterpreter.cpp')
0 files changed, 0 insertions, 0 deletions