[all-commits] [llvm/llvm-project] 3e4ee7: [X86] Fold EXTRACT_SUBVECTOR(ONEUSE(EXTRACT_SUBVEC...
Simon Pilgrim via All-commits
all-commits at lists.llvm.org
Thu Oct 10 02:25:36 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3e4ee76fe0a015e306b58f0d8c1565f9f06ff9c3
https://github.com/llvm/llvm-project/commit/3e4ee76fe0a015e306b58f0d8c1565f9f06ff9c3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2024-10-10 (Thu, 10 Oct 2024)
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/avx512-shuffles/partial_permute.ll
M llvm/test/CodeGen/X86/kshift.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
M llvm/test/CodeGen/X86/vector-shuffle-512-v8.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] Fold EXTRACT_SUBVECTOR(ONEUSE(EXTRACT_SUBVECTOR(V,C1))),C2) - EXTRACT_SUBVECTOR(V,C1+C2) (#111685)
Extract from the original source vector whenever possible.
This removes a number of dependency bottlenecks and helps a number of shuffle combining cases: either by allowing us to avoid a cross-lane variable shuffle on a slow target by keeping the instruction count below the threshold, or on fast targets make it easier to recognise that the subvectors all came form the same source.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list