[all-commits] [llvm/llvm-project] c6c5aa: [X86] truncateVectorWithPACK - avoid concat_vector...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Fri Jul 21 11:12:50 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: c6c5aad6a24311e855b6ab7054b861a0a066e08c
https://github.com/llvm/llvm-project/commit/c6c5aad6a24311e855b6ab7054b861a0a066e08c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-07-21 (Fri, 21 Jul 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] truncateVectorWithPACK - avoid concat_vectors(extract_subvector(pack()),extract_subvector(pack())) for sub-128 bit vectors
As we start using this after type legalization, we must avoid creating concat_vectors nodes so late.
Commit: 65c9153cf055d398a224adcbfdddf23059b433d1
https://github.com/llvm/llvm-project/commit/65c9153cf055d398a224adcbfdddf23059b433d1
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2023-07-21 (Fri, 21 Jul 2023)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/vector-reduce-and-bool.ll
Log Message:
-----------
[X86] combineBitcastvxi1 - don't prematurely create PACKSS nodes.
Similar to Issue #63710 - by truncating the v8i16 result with a PACKSS node before type legalization, we fail to make use of various folds that rely on TRUNCATE nodes.
This required tweaks to LowerTruncateVecPackWithSignBits to recognise when the truncation source has been widened and to more closely match combineVectorSignBitsTruncation wrt truncating with PACKSS/PACKUS on AVX512 targets.
One of the last stages before we can finally get rid of combineVectorSignBitsTruncation.
Compare: https://github.com/llvm/llvm-project/compare/237784dd3005...65c9153cf055
More information about the All-commits
mailing list