[llvm] [AArch64] Full reverse shuffles. (PR #119083)

David Green via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 16 13:19:06 PST 2024


================
@@ -131,6 +131,13 @@ def ext: GICombineRule <
   (apply [{ applyEXT(*${root}, ${matchinfo}); }])
 >;
 
+def fullrev: GICombineRule <
+  (defs root:$root, shuffle_matchdata:$matchinfo),
+  (match (G_SHUFFLE_VECTOR $src, $src1, $src2, $mask):$root,
+         [{ return matchFullRev(*${root}, MRI); }]),
----------------
davemgreen wrote:

I think the types should be OK - v4i32 are either handled here or by perfect shuffles and the other types should be handled by other combines as far as I can tell.

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


More information about the llvm-commits mailing list