[all-commits] [llvm/llvm-project] ffe72f: [X86][SSE] Don't fold shuffle(binop(), binop()) -> ...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Fri Jan 22 03:32:10 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ffe72f987f4866c46c18174cdb750dea88bedba3
https://github.com/llvm/llvm-project/commit/ffe72f987f4866c46c18174cdb750dea88bedba3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2021-01-22 (Fri, 22 Jan 2021)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/haddsub-3.ll
Log Message:
-----------
[X86][SSE] Don't fold shuffle(binop(),binop()) -> binop(shuffle(),shuffle()) if the shuffle are splats
rGbe69e66b1cd8 added the fold, but DAGCombiner.visitVECTOR_SHUFFLE doesn't merge shuffles if the inner shuffle is a splat, so we need to bail.
The non-fast-horiz-ops paths see some minor regressions, we might be able to improve on this after lowering to target shuffles.
Fix PR48823
More information about the All-commits
mailing list