[all-commits] [llvm/llvm-project] 56a8a5: [DAG] matchBinOpReduction - match subvector reduct...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Sat Jul 4 07:54:37 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 56a8a5c9fe24d6d8809313633a4a5786d4fd29c6
https://github.com/llvm/llvm-project/commit/56a8a5c9fe24d6d8809313633a4a5786d4fd29c6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-07-04 (Sat, 04 Jul 2020)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/X86/horizontal-reduce-add.ll
M llvm/test/CodeGen/X86/horizontal-reduce-fadd.ll
Log Message:
-----------
[DAG] matchBinOpReduction - match subvector reduction patterns beyond a matched shufflevector reduction
Currently matchBinOpReduction only handles shufflevector reduction patterns, but in many cases these only occur in the final stages of a reduction, once we're down to legal vector widths.
Before this its likely that we are performing reductions using subvector extractions to repeatedly split the source vector in half and perform the binop on the halves.
Assuming we've found a non-partial reduction, this patch continues looking for subvector reductions as far as it can beyond the last shufflevector.
Fixes PR37890
More information about the All-commits
mailing list