[all-commits] [llvm/llvm-project] 47321c: [X86][SSE] combineReductionToHorizontal - add vXi8...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Sun Dec 13 07:27:43 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 47321c311bdbe0145b9bf45d822185c37b19fa50
https://github.com/llvm/llvm-project/commit/47321c311bdbe0145b9bf45d822185c37b19fa50
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2020-12-13 (Sun, 13 Dec 2020)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.h
M llvm/test/CodeGen/X86/vector-reduce-mul.ll
Log Message:
-----------
[X86][SSE] combineReductionToHorizontal - add vXi8 ISD::MUL reduction handling (PR39709)
Default expansion leads to repeated extensions/truncations to/from vXi16 which shuffle combining and demanded elts can't completely unravel.
Better just to promote (any_extend) the input and perform a vXi16 reduction.
We'll be able to remove a lot of this if we ever get decent legalization support for reduction intrinsics in SelectionDAG.
More information about the All-commits
mailing list