[all-commits] [llvm/llvm-project] 3daf2f: [X86] combineX86ShuffleChainWithExtract - refactor...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Tue Feb 7 09:12:59 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3daf2fb71109d89b354e12eb3f05486b317e548f
https://github.com/llvm/llvm-project/commit/3daf2fb71109d89b354e12eb3f05486b317e548f
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-02-07 (Tue, 07 Feb 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-6.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] combineX86ShuffleChainWithExtract - refactor to remove need to widen all vectors
combineX86ShuffleChain no longer needs the candidate shuffle inputs to all have been widened to root size, but combineX86ShuffleChainWithExtract still assumes that they have.
This refactor peeks through all inputs' extract_subvector nodes to find the widest legal vector type and widens the shuffle mask accordingly - it no longer bails if any of the inputs can't be widened to the new width.
combineX86ShuffleChainWithExtract now follows a similar process to combineX86ShufflesRecursively, so I think we should eventually be able to get rid of it and just let combineX86ShufflesRecursively handle widening the shuffle width as well.
Another step toward removing subvector widening for Issue #45319
More information about the All-commits
mailing list