[llvm] [VectorCombine][AArch64] Fold interleave of reversed deinterleave (PR #216308)

Benjamin Maxwell via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 20 03:11:57 PDT 2026


================
@@ -5905,6 +5906,65 @@ bool VectorCombine::foldInsExtVectorToShuffle(Instruction &I) {
   return true;
 }
 
+/// Fold a reversed deinterleave with reversed field order to a vector reverse.
+/// i.e.
+/// interleaveN(reverse(deinterleaveN(X)[N-1]), ...,
+///             reverse(deinterleaveN(X)[0])) --> reverse(X).
+bool VectorCombine::foldInterleaveOfReversedDeinterleave(Instruction &I) {
----------------
MacDue wrote:

If this works we'd probably need to rename `IsSupportedElementwise` -> `IsSupportedOperation` (and other references to elementwise). 

https://github.com/llvm/llvm-project/pull/216308


More information about the llvm-commits mailing list