[all-commits] [llvm/llvm-project] 3be653: [X86] canonicalizeShuffleWithBinOps - generalize t...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue Dec 12 02:59:59 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3be65325f9e37db2d6eeffe96f9709d710a9a49f
https://github.com/llvm/llvm-project/commit/3be65325f9e37db2d6eeffe96f9709d710a9a49f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-12-12 (Tue, 12 Dec 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/widen_bitcnt.ll
Log Message:
-----------
[X86] canonicalizeShuffleWithBinOps - generalize to handle some unary ops
Rename to canonicalizeShuffleWithOp and begin adding SHUFFLE(UNARYOP(X),UNARYOP(Y)) -> UNARYOP(SHUFFLE(X,Y)) fold support.
This is only kicking in after legalization, so targets that expand bit counts are still duplicating but it helps with a few initial cases.
I'm investigating adding support for extensions/conversions as well, but this is a first step.
More information about the All-commits
mailing list