[llvm] 50af827 - [AArch64] Cost all perfect shuffles entries as cost 1

David Green via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 19 04:05:12 PDT 2022


Author: David Green
Date: 2022-04-19T12:05:05+01:00
New Revision: 50af82701c169e3ca2cf31a89fe7927e0ecb9b35

URL: https://github.com/llvm/llvm-project/commit/50af82701c169e3ca2cf31a89fe7927e0ecb9b35
DIFF: https://github.com/llvm/llvm-project/commit/50af82701c169e3ca2cf31a89fe7927e0ecb9b35.diff

LOG: [AArch64] Cost all perfect shuffles entries as cost 1

A brief introduction to perfect shuffles - AArch64 NEON has a number of
shuffle operations - dups, zips, exts, movs etc that can in some way
shuffle around the lanes of a vector. Given a shuffle of size 4 with 2
inputs, some shuffle masks can be easily codegen'd to a single
instruction. A <0,0,1,1> mask for example is a zip LHS, LHS. This is
great, but some masks are not so simple, like a <0,0,1,2>. It turns out
we can generate that from zip LHS, <0,2,0,2>, having generated
<0,2,0,2> from uzp LHS, LHS, producing the result in 2 instructions.

It is not obvious from a given mask how to get there though. So we have
a simple program (PerfectShuffle.cpp in the util folder) that can scan
through all combinations of 4-element vectors and generate the perfect
combination of results needed for each shuffle mask (for some definition
of perfect). This is run offline to generate a table that is queried for
generating shuffle instructions. (Because the table could get quite big,
it is limited to 4 element vectors).

In the perfect shuffle tables zip, unz and trn shuffles were being cost
as 2, which is higher than needed and skews the perfect shuffle tables
to create inefficient combinations. This sets them to 1 and regenerates
the tables. The codegen will usually be better and the costs should be
more precise (but it can get less second-order re-use of values from
multiple shuffles, these cases should be fixed up in subsequent patches.

Differential Revision: https://reviews.llvm.org/D123379

Added: 
    

Modified: 
    llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll
    llvm/test/CodeGen/AArch64/arm64-dup.ll
    llvm/test/CodeGen/AArch64/arm64-rev.ll
    llvm/test/CodeGen/AArch64/build-vector-extract.ll
    llvm/test/CodeGen/AArch64/insert-extend.ll
    llvm/test/CodeGen/AArch64/neon-wide-splat.ll
    llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
    llvm/test/CodeGen/AArch64/shuffles.ll
    llvm/test/CodeGen/AArch64/sinksplat.ll
    llvm/utils/PerfectShuffle/PerfectShuffle.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/AArch64/AArch64PerfectShuffle.h b/llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
index 9e1d44a0abdbc..065f55027c5d5 100644
--- a/llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
+++ b/llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
@@ -15,480 +15,478 @@
 #define LLVM_LIB_TARGET_AARCH64_AARCH64PERFECTSHUFFLE_H
 
 // 31 entries have cost 0
-// 242 entries have cost 1
-// 1447 entries have cost 2
-// 3602 entries have cost 3
-// 1237 entries have cost 4
-// 2 entries have cost 5
+// 434 entries have cost 1
+// 2326 entries have cost 2
+// 3253 entries have cost 3
+// 517 entries have cost 4
 
-// This table is 6561*4 = 26244 bytes in size.
 static const unsigned PerfectShuffleTable[6561 + 1] = {
     135053414U,  // <0,0,0,0>: Cost 1 vdup0 LHS
     1543503974U, // <0,0,0,1>: Cost 2 vext2 <0,0,0,0>, LHS
-    2618572962U, // <0,0,0,2>: Cost 3 vext2 <0,2,0,0>, <0,2,0,0>
+    1679065190U, // <0,0,0,2>: Cost 2 vuzpl <0,2,0,2>, LHS
     2568054923U, // <0,0,0,3>: Cost 3 vext1 <3,0,0,0>, <3,0,0,0>
     1476398390U, // <0,0,0,4>: Cost 2 vext1 <0,0,0,0>, RHS
-    2550140624U, // <0,0,0,5>: Cost 3 vext1 <0,0,0,0>, <5,1,7,3>
-    2550141434U, // <0,0,0,6>: Cost 3 vext1 <0,0,0,0>, <6,2,7,3>
+    2550140540U, // <0,0,0,5>: Cost 3 vext1 <0,0,0,0>, <5,0,7,0>
+    2550141269U, // <0,0,0,6>: Cost 3 vext1 <0,0,0,0>, <6,0,7,0>
     2591945711U, // <0,0,0,7>: Cost 3 vext1 <7,0,0,0>, <7,0,0,0>
     135053414U,  // <0,0,0,u>: Cost 1 vdup0 LHS
-    2886516736U, // <0,0,1,0>: Cost 3 vzipl LHS, <0,0,0,0>
-    1812775014U, // <0,0,1,1>: Cost 2 vzipl LHS, LHS
-    1618133094U, // <0,0,1,2>: Cost 2 vext3 <1,2,3,0>, LHS
-    2625209292U, // <0,0,1,3>: Cost 3 vext2 <1,3,0,0>, <1,3,0,0>
-    2886558034U, // <0,0,1,4>: Cost 3 vzipl LHS, <0,4,1,5>
-    2617246864U, // <0,0,1,5>: Cost 3 vext2 <0,0,0,0>, <1,5,3,7>
-    3659723031U, // <0,0,1,6>: Cost 4 vext1 <6,0,0,1>, <6,0,0,1>
+    1812774912U, // <0,0,1,0>: Cost 2 vzipl LHS, <0,0,0,0>
+    739033190U,  // <0,0,1,1>: Cost 1 vzipl LHS, LHS
+    1812775076U, // <0,0,1,2>: Cost 2 vzipl LHS, <0,2,0,2>
+    1744830566U, // <0,0,1,3>: Cost 2 vuzpr <0,0,0,0>, LHS
+    1812816210U, // <0,0,1,4>: Cost 2 vzipl LHS, <0,4,1,5>
+    2752807936U, // <0,0,1,5>: Cost 3 vuzpl <0,2,0,2>, <1,3,5,7>
+    2886517229U, // <0,0,1,6>: Cost 3 vzipl LHS, <0,6,0,7>
     2591953904U, // <0,0,1,7>: Cost 3 vext1 <7,0,0,1>, <7,0,0,1>
-    1812775581U, // <0,0,1,u>: Cost 2 vzipl LHS, LHS
-    3020734464U, // <0,0,2,0>: Cost 3 vtrnl LHS, <0,0,0,0>
-    3020734474U, // <0,0,2,1>: Cost 3 vtrnl LHS, <0,0,1,1>
-    1946992742U, // <0,0,2,2>: Cost 2 vtrnl LHS, LHS
-    2631181989U, // <0,0,2,3>: Cost 3 vext2 <2,3,0,0>, <2,3,0,0>
-    3020734668U, // <0,0,2,4>: Cost 3 vtrnl LHS, <0,2,4,6>
-    3826550569U, // <0,0,2,5>: Cost 4 vuzpl <0,2,0,2>, <2,4,5,6>
+    739033757U,  // <0,0,1,u>: Cost 1 vzipl LHS, LHS
+    1946992640U, // <0,0,2,0>: Cost 2 vtrnl LHS, <0,0,0,0>
+    1946992650U, // <0,0,2,1>: Cost 2 vtrnl LHS, <0,0,1,1>
+    873250918U,  // <0,0,2,2>: Cost 1 vtrnl LHS, LHS
+    3020734654U, // <0,0,2,3>: Cost 3 vtrnl LHS, <0,2,3,1>
+    1946992844U, // <0,0,2,4>: Cost 2 vtrnl LHS, <0,2,4,6>
+    2752808745U, // <0,0,2,5>: Cost 3 vuzpl <0,2,0,2>, <2,4,5,6>
     2617247674U, // <0,0,2,6>: Cost 3 vext2 <0,0,0,0>, <2,6,3,7>
     2591962097U, // <0,0,2,7>: Cost 3 vext1 <7,0,0,2>, <7,0,0,2>
-    1946992796U, // <0,0,2,u>: Cost 2 vtrnl LHS, LHS
+    873250972U,  // <0,0,2,u>: Cost 1 vtrnl LHS, LHS
     2635163787U, // <0,0,3,0>: Cost 3 vext2 <3,0,0,0>, <3,0,0,0>
-    2686419196U, // <0,0,3,1>: Cost 3 vext3 <0,3,1,0>, <0,3,1,0>
-    2686492933U, // <0,0,3,2>: Cost 3 vext3 <0,3,2,0>, <0,3,2,0>
-    2617248156U, // <0,0,3,3>: Cost 3 vext2 <0,0,0,0>, <3,3,3,3>
+    2752809110U, // <0,0,3,1>: Cost 3 vuzpl <0,2,0,2>, <3,0,1,2>
+    2752809117U, // <0,0,3,2>: Cost 3 vuzpl <0,2,0,2>, <3,0,2,0>
+    2752809372U, // <0,0,3,3>: Cost 3 vuzpl <0,2,0,2>, <3,3,3,3>
     2617248258U, // <0,0,3,4>: Cost 3 vext2 <0,0,0,0>, <3,4,5,6>
-    3826551298U, // <0,0,3,5>: Cost 4 vuzpl <0,2,0,2>, <3,4,5,6>
-    3690990200U, // <0,0,3,6>: Cost 4 vext2 <0,0,0,0>, <3,6,0,7>
-    3713551042U, // <0,0,3,7>: Cost 4 vext2 <3,7,0,0>, <3,7,0,0>
-    2635163787U, // <0,0,3,u>: Cost 3 vext2 <3,0,0,0>, <3,0,0,0>
-    2617248658U, // <0,0,4,0>: Cost 3 vext2 <0,0,0,0>, <4,0,5,1>
-    2888450150U, // <0,0,4,1>: Cost 3 vzipl <0,4,1,5>, LHS
-    3021570150U, // <0,0,4,2>: Cost 3 vtrnl <0,2,4,6>, LHS
-    3641829519U, // <0,0,4,3>: Cost 4 vext1 <3,0,0,4>, <3,0,0,4>
-    3021570252U, // <0,0,4,4>: Cost 3 vtrnl <0,2,4,6>, <0,2,4,6>
+    2752809474U, // <0,0,3,5>: Cost 3 vuzpl <0,2,0,2>, <3,4,5,6>
+    3826551142U, // <0,0,3,6>: Cost 4 vuzpl <0,2,0,2>, <3,2,6,3>
+    2818573312U, // <0,0,3,7>: Cost 3 vuzpr <0,0,0,0>, <1,3,5,7>
+    2752809173U, // <0,0,3,u>: Cost 3 vuzpl <0,2,0,2>, <3,0,u,2>
+    3021562020U, // <0,0,4,0>: Cost 3 vtrnl <0,2,4,5>, <0,2,0,2>
+    1814708326U, // <0,0,4,1>: Cost 2 vzipl <0,4,1,5>, LHS
+    1947828326U, // <0,0,4,2>: Cost 2 vtrnl <0,2,4,6>, LHS
+    4095312062U, // <0,0,4,3>: Cost 4 vtrnl <0,2,4,6>, <0,2,3,1>
+    1947828428U, // <0,0,4,4>: Cost 2 vtrnl <0,2,4,6>, <0,2,4,6>
     1543507254U, // <0,0,4,5>: Cost 2 vext2 <0,0,0,0>, RHS
-    2752810294U, // <0,0,4,6>: Cost 3 vuzpl <0,2,0,2>, RHS
+    1679068470U, // <0,0,4,6>: Cost 2 vuzpl <0,2,0,2>, RHS
     3786998152U, // <0,0,4,7>: Cost 4 vext3 <4,7,5,0>, <0,4,7,5>
-    1543507497U, // <0,0,4,u>: Cost 2 vext2 <0,0,0,0>, RHS
-    2684354972U, // <0,0,5,0>: Cost 3 vext3 <0,0,0,0>, <0,5,0,7>
+    1679068488U, // <0,0,4,u>: Cost 2 vuzpl <0,2,0,2>, RHS
+    2617249404U, // <0,0,5,0>: Cost 3 vext2 <0,0,0,0>, <5,0,7,0>
     2617249488U, // <0,0,5,1>: Cost 3 vext2 <0,0,0,0>, <5,1,7,3>
-    3765617070U, // <0,0,5,2>: Cost 4 vext3 <1,2,3,0>, <0,5,2,7>
-    3635865780U, // <0,0,5,3>: Cost 4 vext1 <2,0,0,5>, <3,0,4,5>
+    3020324966U, // <0,0,5,2>: Cost 3 vtrnl <0,0,5,7>, LHS
+    4035200518U, // <0,0,5,3>: Cost 4 vzipr <1,4,0,5>, <2,1,0,3>
     2617249734U, // <0,0,5,4>: Cost 3 vext2 <0,0,0,0>, <5,4,7,6>
-    2617249796U, // <0,0,5,5>: Cost 3 vext2 <0,0,0,0>, <5,5,5,5>
+    2961458210U, // <0,0,5,5>: Cost 3 vzipr <1,4,0,5>, <1,4,0,5>
     2718712274U, // <0,0,5,6>: Cost 3 vext3 <5,6,7,0>, <0,5,6,7>
-    2617249960U, // <0,0,5,7>: Cost 3 vext2 <0,0,0,0>, <5,7,5,7>
-    2720039396U, // <0,0,5,u>: Cost 3 vext3 <5,u,7,0>, <0,5,u,7>
-    2684355053U, // <0,0,6,0>: Cost 3 vext3 <0,0,0,0>, <0,6,0,7>
-    3963609190U, // <0,0,6,1>: Cost 4 vzipl <0,6,2,7>, LHS
-    2617250298U, // <0,0,6,2>: Cost 3 vext2 <0,0,0,0>, <6,2,7,3>
-    3796435464U, // <0,0,6,3>: Cost 4 vext3 <6,3,7,0>, <0,6,3,7>
-    3659762998U, // <0,0,6,4>: Cost 4 vext1 <6,0,0,6>, RHS
-    3659763810U, // <0,0,6,5>: Cost 4 vext1 <6,0,0,6>, <5,6,7,0>
-    2617250616U, // <0,0,6,6>: Cost 3 vext2 <0,0,0,0>, <6,6,6,6>
+    1744833846U, // <0,0,5,7>: Cost 2 vuzpr <0,0,0,0>, RHS
+    1744833847U, // <0,0,5,u>: Cost 2 vuzpr <0,0,0,0>, RHS
+    2854850658U, // <0,0,6,0>: Cost 3 vuzpr <6,0,6,0>, <5,6,7,0>
+    2889867366U, // <0,0,6,1>: Cost 3 vzipl <0,6,2,7>, LHS
+    2955493540U, // <0,0,6,2>: Cost 3 vzipr <0,4,0,6>, <0,2,0,2>
+    4202975522U, // <0,0,6,3>: Cost 4 vtrnr <7,0,5,6>, <6,0,1,3>
+    2751468406U, // <0,0,6,4>: Cost 3 vuzpl <0,0,0,0>, <6,7,4,5>
+    3827880589U, // <0,0,6,5>: Cost 4 vuzpl <0,4,0,2>, <6,4,5,6>
+    2955493706U, // <0,0,6,6>: Cost 3 vzipr <0,4,0,6>, <0,4,0,6>
     2657727309U, // <0,0,6,7>: Cost 3 vext2 <6,7,0,0>, <6,7,0,0>
-    2658390942U, // <0,0,6,u>: Cost 3 vext2 <6,u,0,0>, <6,u,0,0>
+    2889867933U, // <0,0,6,u>: Cost 3 vzipl <0,6,2,7>, LHS
     2659054575U, // <0,0,7,0>: Cost 3 vext2 <7,0,0,0>, <7,0,0,0>
-    3635880854U, // <0,0,7,1>: Cost 4 vext1 <2,0,0,7>, <1,2,3,0>
-    3635881401U, // <0,0,7,2>: Cost 4 vext1 <2,0,0,7>, <2,0,0,7>
-    3734787298U, // <0,0,7,3>: Cost 4 vext2 <7,3,0,0>, <7,3,0,0>
+    2860454734U, // <0,0,7,1>: Cost 3 vuzpr <7,0,1,0>, <6,7,0,1>
+    2752812033U, // <0,0,7,2>: Cost 3 vuzpl <0,2,0,2>, <7,0,2,0>
+    2818576512U, // <0,0,7,3>: Cost 3 vuzpr <0,0,0,0>, <5,7,1,3>
     2617251174U, // <0,0,7,4>: Cost 3 vext2 <0,0,0,0>, <7,4,5,6>
-    3659772002U, // <0,0,7,5>: Cost 4 vext1 <6,0,0,7>, <5,6,7,0>
+    2751468902U, // <0,0,7,5>: Cost 3 vuzpl <0,0,0,0>, <7,4,5,6>
     3659772189U, // <0,0,7,6>: Cost 4 vext1 <6,0,0,7>, <6,0,0,7>
-    2617251436U, // <0,0,7,7>: Cost 3 vext2 <0,0,0,0>, <7,7,7,7>
+    3099379174U, // <0,0,7,7>: Cost 3 vtrnr <2,0,5,7>, <2,0,5,7>
     2659054575U, // <0,0,7,u>: Cost 3 vext2 <7,0,0,0>, <7,0,0,0>
     135053414U,  // <0,0,u,0>: Cost 1 vdup0 LHS
-    1817419878U, // <0,0,u,1>: Cost 2 vzipl LHS, LHS
-    1947435110U, // <0,0,u,2>: Cost 2 vtrnl LHS, LHS
-    2568120467U, // <0,0,u,3>: Cost 3 vext1 <3,0,0,u>, <3,0,0,u>
-    1476463926U, // <0,0,u,4>: Cost 2 vext1 <0,0,0,u>, RHS
+    743678054U,  // <0,0,u,1>: Cost 1 vzipl LHS, LHS
+    873693286U,  // <0,0,u,2>: Cost 1 vtrnl LHS, LHS
+    1744831133U, // <0,0,u,3>: Cost 2 vuzpr <0,0,0,0>, LHS
+    1947435212U, // <0,0,u,4>: Cost 2 vtrnl LHS, <0,2,4,6>
     1543510170U, // <0,0,u,5>: Cost 2 vext2 <0,0,0,0>, RHS
-    2752813210U, // <0,0,u,6>: Cost 3 vuzpl <0,2,0,2>, RHS
-    2592011255U, // <0,0,u,7>: Cost 3 vext1 <7,0,0,u>, <7,0,0,u>
-    135053414U,  // <0,0,u,u>: Cost 1 vdup0 LHS
+    1679071386U, // <0,0,u,6>: Cost 2 vuzpl <0,2,0,2>, RHS
+    1744834089U, // <0,0,u,7>: Cost 2 vuzpr <0,0,0,0>, RHS
+    873693340U,  // <0,0,u,u>: Cost 1 vtrnl LHS, LHS
     2618581002U, // <0,1,0,0>: Cost 3 vext2 <0,2,0,1>, <0,0,1,1>
-    1557446758U, // <0,1,0,1>: Cost 2 vext2 <2,3,0,1>, LHS
-    2618581155U, // <0,1,0,2>: Cost 3 vext2 <0,2,0,1>, <0,2,0,1>
-    2690548468U, // <0,1,0,3>: Cost 3 vext3 <1,0,3,0>, <1,0,3,0>
-    2626543954U, // <0,1,0,4>: Cost 3 vext2 <1,5,0,1>, <0,4,1,5>
-    4094985216U, // <0,1,0,5>: Cost 4 vtrnl <0,2,0,2>, <1,3,5,7>
+    1680490834U, // <0,1,0,1>: Cost 2 vuzpl <0,4,1,5>, <0,4,1,5>
+    1680490598U, // <0,1,0,2>: Cost 2 vuzpl <0,4,1,5>, LHS
+    2013266022U, // <0,1,0,3>: Cost 2 vtrnr <0,0,0,0>, LHS
+    2754232524U, // <0,1,0,4>: Cost 3 vuzpl <0,4,1,5>, <0,2,4,6>
+    3021243392U, // <0,1,0,5>: Cost 3 vtrnl <0,2,0,2>, <1,3,5,7>
     2592019278U, // <0,1,0,6>: Cost 3 vext1 <7,0,1,0>, <6,7,0,1>
     2592019448U, // <0,1,0,7>: Cost 3 vext1 <7,0,1,0>, <7,0,1,0>
-    1557447325U, // <0,1,0,u>: Cost 2 vext2 <2,3,0,1>, LHS
-    1476476938U, // <0,1,1,0>: Cost 2 vext1 <0,0,1,1>, <0,0,1,1>
-    2886517556U, // <0,1,1,1>: Cost 3 vzipl LHS, <1,1,1,1>
-    2886517654U, // <0,1,1,2>: Cost 3 vzipl LHS, <1,2,3,0>
-    2886517720U, // <0,1,1,3>: Cost 3 vzipl LHS, <1,3,1,3>
+    1680490652U, // <0,1,0,u>: Cost 2 vuzpl <0,4,1,5>, LHS
+    1812775670U, // <0,1,1,0>: Cost 2 vzipl LHS, <1,0,3,2>
+    1812775732U, // <0,1,1,1>: Cost 2 vzipl LHS, <1,1,1,1>
+    1812775830U, // <0,1,1,2>: Cost 2 vzipl LHS, <1,2,3,0>
+    1812775896U, // <0,1,1,3>: Cost 2 vzipl LHS, <1,3,1,3>
     1476480310U, // <0,1,1,4>: Cost 2 vext1 <0,0,1,1>, RHS
-    2886558864U, // <0,1,1,5>: Cost 3 vzipl LHS, <1,5,3,7>
-    2550223354U, // <0,1,1,6>: Cost 3 vext1 <0,0,1,1>, <6,2,7,3>
+    1812817040U, // <0,1,1,5>: Cost 2 vzipl LHS, <1,5,3,7>
+    2886558945U, // <0,1,1,6>: Cost 3 vzipl LHS, <1,6,3,7>
     2550223856U, // <0,1,1,7>: Cost 3 vext1 <0,0,1,1>, <7,0,0,1>
-    1476482862U, // <0,1,1,u>: Cost 2 vext1 <0,0,1,1>, LHS
+    1812817261U, // <0,1,1,u>: Cost 2 vzipl LHS, <1,u,1,3>
     1494401126U, // <0,1,2,0>: Cost 2 vext1 <3,0,1,2>, LHS
-    3020735284U, // <0,1,2,1>: Cost 3 vtrnl LHS, <1,1,1,1>
-    2562172349U, // <0,1,2,2>: Cost 3 vext1 <2,0,1,2>, <2,0,1,2>
+    1946993460U, // <0,1,2,1>: Cost 2 vtrnl LHS, <1,1,1,1>
+    3020735454U, // <0,1,2,2>: Cost 3 vtrnl LHS, <1,3,2,0>
     835584U,     // <0,1,2,3>: Cost 0 copy LHS
     1494404406U, // <0,1,2,4>: Cost 2 vext1 <3,0,1,2>, RHS
-    3020735488U, // <0,1,2,5>: Cost 3 vtrnl LHS, <1,3,5,7>
-    2631190458U, // <0,1,2,6>: Cost 3 vext2 <2,3,0,1>, <2,6,3,7>
+    1946993664U, // <0,1,2,5>: Cost 2 vtrnl LHS, <1,3,5,7>
+    3020776862U, // <0,1,2,6>: Cost 3 vtrnl LHS, <1,u,6,7>
     1518294010U, // <0,1,2,7>: Cost 2 vext1 <7,0,1,2>, <7,0,1,2>
     835584U,     // <0,1,2,u>: Cost 0 copy LHS
     2692318156U, // <0,1,3,0>: Cost 3 vext3 <1,3,0,0>, <1,3,0,0>
-    2691875800U, // <0,1,3,1>: Cost 3 vext3 <1,2,3,0>, <1,3,1,3>
+    2753530006U, // <0,1,3,1>: Cost 3 vuzpl <0,3,1,0>, <3,0,1,2>
     2691875806U, // <0,1,3,2>: Cost 3 vext3 <1,2,3,0>, <1,3,2,0>
-    2692539367U, // <0,1,3,3>: Cost 3 vext3 <1,3,3,0>, <1,3,3,0>
-    2562182454U, // <0,1,3,4>: Cost 3 vext1 <2,0,1,3>, RHS
-    2691875840U, // <0,1,3,5>: Cost 3 vext3 <1,2,3,0>, <1,3,5,7>
-    2692760578U, // <0,1,3,6>: Cost 3 vext3 <1,3,6,0>, <1,3,6,0>
+    2753554844U, // <0,1,3,3>: Cost 3 vuzpl <0,3,1,3>, <3,3,3,3>
+    2754234544U, // <0,1,3,4>: Cost 3 vuzpl <0,4,1,5>, <3,0,4,1>
+    2753563138U, // <0,1,3,5>: Cost 3 vuzpl <0,3,1,4>, <3,4,5,6>
+    2586071330U, // <0,1,3,6>: Cost 3 vext1 <6,0,1,3>, <6,0,1,3>
     2639817411U, // <0,1,3,7>: Cost 3 vext2 <3,7,0,1>, <3,7,0,1>
-    2691875863U, // <0,1,3,u>: Cost 3 vext3 <1,2,3,0>, <1,3,u,3>
-    2568159334U, // <0,1,4,0>: Cost 3 vext1 <3,0,1,4>, LHS
-    4095312692U, // <0,1,4,1>: Cost 4 vtrnl <0,2,4,6>, <1,1,1,1>
-    2568160934U, // <0,1,4,2>: Cost 3 vext1 <3,0,1,4>, <2,3,0,1>
-    2568161432U, // <0,1,4,3>: Cost 3 vext1 <3,0,1,4>, <3,0,1,4>
-    2568162614U, // <0,1,4,4>: Cost 3 vext1 <3,0,1,4>, RHS
+    2754234581U, // <0,1,3,u>: Cost 3 vuzpl <0,4,1,5>, <3,0,u,2>
+    2888450806U, // <0,1,4,0>: Cost 3 vzipl <0,4,1,5>, <1,0,3,2>
+    3021570868U, // <0,1,4,1>: Cost 3 vtrnl <0,2,4,6>, <1,1,1,1>
+    3021571044U, // <0,1,4,2>: Cost 3 vtrnl <0,2,4,6>, <1,3,2,6>
+    3021570806U, // <0,1,4,3>: Cost 3 vtrnl <0,2,4,6>, <1,0,3,2>
+    2888451133U, // <0,1,4,4>: Cost 3 vzipl <0,4,1,5>, <1,4,3,5>
     1557450038U, // <0,1,4,5>: Cost 2 vext2 <2,3,0,1>, RHS
-    2754235702U, // <0,1,4,6>: Cost 3 vuzpl <0,4,1,5>, RHS
+    1680493878U, // <0,1,4,6>: Cost 2 vuzpl <0,4,1,5>, RHS
     2592052220U, // <0,1,4,7>: Cost 3 vext1 <7,0,1,4>, <7,0,1,4>
-    1557450281U, // <0,1,4,u>: Cost 2 vext2 <2,3,0,1>, RHS
-    3765617775U, // <0,1,5,0>: Cost 4 vext3 <1,2,3,0>, <1,5,0,1>
-    2647781007U, // <0,1,5,1>: Cost 3 vext2 <5,1,0,1>, <5,1,0,1>
-    3704934138U, // <0,1,5,2>: Cost 4 vext2 <2,3,0,1>, <5,2,3,0>
+    1680493896U, // <0,1,4,u>: Cost 2 vuzpl <0,4,1,5>, RHS
+    2889204470U, // <0,1,5,0>: Cost 3 vzipl <0,5,2,7>, <1,0,3,2>
+    2754235976U, // <0,1,5,1>: Cost 3 vuzpl <0,4,1,5>, <5,0,1,2>
+    2973403286U, // <0,1,5,2>: Cost 3 vzipr <3,4,0,5>, <3,0,1,2>
     2691875984U, // <0,1,5,3>: Cost 3 vext3 <1,2,3,0>, <1,5,3,7>
-    2657734598U, // <0,1,5,4>: Cost 3 vext2 <6,7,0,1>, <5,4,7,6>
-    2650435539U, // <0,1,5,5>: Cost 3 vext2 <5,5,0,1>, <5,5,0,1>
+    2754236002U, // <0,1,5,4>: Cost 3 vuzpl <0,4,1,5>, <5,0,4,1>
+    2754236340U, // <0,1,5,5>: Cost 3 vuzpl <0,4,1,5>, <5,4,5,6>
     2651099172U, // <0,1,5,6>: Cost 3 vext2 <5,6,0,1>, <5,6,0,1>
-    2651762805U, // <0,1,5,7>: Cost 3 vext2 <5,7,0,1>, <5,7,0,1>
-    2691876029U, // <0,1,5,u>: Cost 3 vext3 <1,2,3,0>, <1,5,u,7>
+    1744915766U, // <0,1,5,7>: Cost 2 vuzpr <0,0,1,1>, RHS
+    1744915767U, // <0,1,5,u>: Cost 2 vuzpr <0,0,1,1>, RHS
     2592063590U, // <0,1,6,0>: Cost 3 vext1 <7,0,1,6>, LHS
-    3765617871U, // <0,1,6,1>: Cost 4 vext3 <1,2,3,0>, <1,6,1,7>
+    3826659617U, // <0,1,6,1>: Cost 4 vuzpl <0,2,1,6>, <6,0,1,2>
     2654417337U, // <0,1,6,2>: Cost 3 vext2 <6,2,0,1>, <6,2,0,1>
-    3765617889U, // <0,1,6,3>: Cost 4 vext3 <1,2,3,0>, <1,6,3,7>
+    3128934502U, // <0,1,6,3>: Cost 3 vtrnr <7,0,1,6>, LHS
     2592066870U, // <0,1,6,4>: Cost 3 vext1 <7,0,1,6>, RHS
-    3765617907U, // <0,1,6,5>: Cost 4 vext3 <1,2,3,0>, <1,6,5,7>
+    3826659981U, // <0,1,6,5>: Cost 4 vuzpl <0,2,1,6>, <6,4,5,6>
     2657071869U, // <0,1,6,6>: Cost 3 vext2 <6,6,0,1>, <6,6,0,1>
     1583993678U, // <0,1,6,7>: Cost 2 vext2 <6,7,0,1>, <6,7,0,1>
     1584657311U, // <0,1,6,u>: Cost 2 vext2 <6,u,0,1>, <6,u,0,1>
     2657735672U, // <0,1,7,0>: Cost 3 vext2 <6,7,0,1>, <7,0,1,0>
-    2657735808U, // <0,1,7,1>: Cost 3 vext2 <6,7,0,1>, <7,1,7,1>
+    2751550458U, // <0,1,7,1>: Cost 3 vuzpl <0,0,1,1>, <7,0,1,2>
     2631193772U, // <0,1,7,2>: Cost 3 vext2 <2,3,0,1>, <7,2,3,0>
-    2661053667U, // <0,1,7,3>: Cost 3 vext2 <7,3,0,1>, <7,3,0,1>
+    3099377766U, // <0,1,7,3>: Cost 3 vtrnr <2,0,5,7>, LHS
     2657736038U, // <0,1,7,4>: Cost 3 vext2 <6,7,0,1>, <7,4,5,6>
-    3721524621U, // <0,1,7,5>: Cost 4 vext2 <5,1,0,1>, <7,5,1,0>
+    2751550822U, // <0,1,7,5>: Cost 3 vuzpl <0,0,1,1>, <7,4,5,6>
     2657736158U, // <0,1,7,6>: Cost 3 vext2 <6,7,0,1>, <7,6,1,0>
     2657736300U, // <0,1,7,7>: Cost 3 vext2 <6,7,0,1>, <7,7,7,7>
-    2657736322U, // <0,1,7,u>: Cost 3 vext2 <6,7,0,1>, <7,u,1,2>
-    1494450278U, // <0,1,u,0>: Cost 2 vext1 <3,0,1,u>, LHS
-    1557452590U, // <0,1,u,1>: Cost 2 vext2 <2,3,0,1>, LHS
-    2754238254U, // <0,1,u,2>: Cost 3 vuzpl <0,4,1,5>, LHS
+    3099377771U, // <0,1,7,u>: Cost 3 vtrnr <2,0,5,7>, LHS
+    1817420534U, // <0,1,u,0>: Cost 2 vzipl LHS, <1,0,3,2>
+    1947435828U, // <0,1,u,1>: Cost 2 vtrnl LHS, <1,1,1,1>
+    1680496430U, // <0,1,u,2>: Cost 2 vuzpl <0,4,1,5>, LHS
     835584U,     // <0,1,u,3>: Cost 0 copy LHS
     1494453558U, // <0,1,u,4>: Cost 2 vext1 <3,0,1,u>, RHS
-    1557452954U, // <0,1,u,5>: Cost 2 vext2 <2,3,0,1>, RHS
-    2754238618U, // <0,1,u,6>: Cost 3 vuzpl <0,4,1,5>, RHS
+    1947436032U, // <0,1,u,5>: Cost 2 vtrnl LHS, <1,3,5,7>
+    1680496794U, // <0,1,u,6>: Cost 2 vuzpl <0,4,1,5>, RHS
     1518343168U, // <0,1,u,7>: Cost 2 vext1 <7,0,1,u>, <7,0,1,u>
     835584U,     // <0,1,u,u>: Cost 0 copy LHS
-    2752299008U, // <0,2,0,0>: Cost 3 vuzpl LHS, <0,0,0,0>
-    1544847462U, // <0,2,0,1>: Cost 2 vext2 <0,2,0,2>, LHS
-    1678557286U, // <0,2,0,2>: Cost 2 vuzpl LHS, LHS
-    2696521165U, // <0,2,0,3>: Cost 3 vext3 <2,0,3,0>, <2,0,3,0>
-    2752340172U, // <0,2,0,4>: Cost 3 vuzpl LHS, <0,2,4,6>
-    2691876326U, // <0,2,0,5>: Cost 3 vext3 <1,2,3,0>, <2,0,5,7>
-    2618589695U, // <0,2,0,6>: Cost 3 vext2 <0,2,0,2>, <0,6,2,7>
+    1678557184U, // <0,2,0,0>: Cost 2 vuzpl LHS, <0,0,0,0>
+    1678598154U, // <0,2,0,1>: Cost 2 vuzpl LHS, <0,0,1,1>
+    604815462U,  // <0,2,0,2>: Cost 1 vuzpl LHS, LHS
+    1879048294U, // <0,2,0,3>: Cost 2 vzipr <0,0,0,0>, LHS
+    1678598348U, // <0,2,0,4>: Cost 2 vuzpl LHS, <0,2,4,6>
+    3021244040U, // <0,2,0,5>: Cost 3 vtrnl <0,2,0,2>, <2,2,5,7>
+    2586120488U, // <0,2,0,6>: Cost 3 vext1 <6,0,2,0>, <6,0,2,0>
     2592093185U, // <0,2,0,7>: Cost 3 vext1 <7,0,2,0>, <7,0,2,0>
-    1678557340U, // <0,2,0,u>: Cost 2 vuzpl LHS, LHS
-    2618589942U, // <0,2,1,0>: Cost 3 vext2 <0,2,0,2>, <1,0,3,2>
-    2752299828U, // <0,2,1,1>: Cost 3 vuzpl LHS, <1,1,1,1>
-    2886518376U, // <0,2,1,2>: Cost 3 vzipl LHS, <2,2,2,2>
-    2752299766U, // <0,2,1,3>: Cost 3 vuzpl LHS, <1,0,3,2>
-    2550295862U, // <0,2,1,4>: Cost 3 vext1 <0,0,2,1>, RHS
-    2752340992U, // <0,2,1,5>: Cost 3 vuzpl LHS, <1,3,5,7>
-    2886559674U, // <0,2,1,6>: Cost 3 vzipl LHS, <2,6,3,7>
-    3934208106U, // <0,2,1,7>: Cost 4 vuzpr <7,0,1,2>, <0,1,2,7>
-    2752340771U, // <0,2,1,u>: Cost 3 vuzpl LHS, <1,0,u,2>
-    1476558868U, // <0,2,2,0>: Cost 2 vext1 <0,0,2,2>, <0,0,2,2>
-    2226628029U, // <0,2,2,1>: Cost 3 vrev <2,0,1,2>
-    2752300648U, // <0,2,2,2>: Cost 3 vuzpl LHS, <2,2,2,2>
-    3020736114U, // <0,2,2,3>: Cost 3 vtrnl LHS, <2,2,3,3>
-    1476562230U, // <0,2,2,4>: Cost 2 vext1 <0,0,2,2>, RHS
-    2550304464U, // <0,2,2,5>: Cost 3 vext1 <0,0,2,2>, <5,1,7,3>
+    604815516U,  // <0,2,0,u>: Cost 1 vuzpl LHS, LHS
+    2752340940U, // <0,2,1,0>: Cost 3 vuzpl LHS, <1,3,0,0>
+    1678558004U, // <0,2,1,1>: Cost 2 vuzpl LHS, <1,1,1,1>
+    1812776552U, // <0,2,1,2>: Cost 2 vzipl LHS, <2,2,2,2>
+    1678557942U, // <0,2,1,3>: Cost 2 vuzpl LHS, <1,0,3,2>
+    2752340982U, // <0,2,1,4>: Cost 3 vuzpl LHS, <1,3,4,6>
+    1678599168U, // <0,2,1,5>: Cost 2 vuzpl LHS, <1,3,5,7>
+    1812817850U, // <0,2,1,6>: Cost 2 vzipl LHS, <2,6,3,7>
+    2860466282U, // <0,2,1,7>: Cost 3 vuzpr <7,0,1,2>, <0,1,2,7>
+    1678598947U, // <0,2,1,u>: Cost 2 vuzpl LHS, <1,0,u,2>
+    1678558886U, // <0,2,2,0>: Cost 2 vuzpl LHS, <2,3,0,1>
+    2752300718U, // <0,2,2,1>: Cost 3 vuzpl LHS, <2,3,1,0>
+    1678558824U, // <0,2,2,2>: Cost 2 vuzpl LHS, <2,2,2,2>
+    1946994290U, // <0,2,2,3>: Cost 2 vtrnl LHS, <2,2,3,3>
+    1678558926U, // <0,2,2,4>: Cost 2 vuzpl LHS, <2,3,4,5>
+    2954133851U, // <0,2,2,5>: Cost 3 vzipr <0,2,0,2>, <0,4,2,5>
     2618591162U, // <0,2,2,6>: Cost 3 vext2 <0,2,0,2>, <2,6,3,7>
-    2550305777U, // <0,2,2,7>: Cost 3 vext1 <0,0,2,2>, <7,0,0,2>
-    1476564782U, // <0,2,2,u>: Cost 2 vext1 <0,0,2,2>, LHS
-    2618591382U, // <0,2,3,0>: Cost 3 vext2 <0,2,0,2>, <3,0,1,2>
-    2752301206U, // <0,2,3,1>: Cost 3 vuzpl LHS, <3,0,1,2>
-    3826043121U, // <0,2,3,2>: Cost 4 vuzpl LHS, <3,1,2,3>
-    2752301468U, // <0,2,3,3>: Cost 3 vuzpl LHS, <3,3,3,3>
+    3093217494U, // <0,2,2,7>: Cost 3 vtrnr <1,0,3,2>, <0,2,5,7>
+    1678558958U, // <0,2,2,u>: Cost 2 vuzpl LHS, <2,3,u,1>
+    2752301195U, // <0,2,3,0>: Cost 3 vuzpl LHS, <3,0,0,0>
+    1678559382U, // <0,2,3,1>: Cost 2 vuzpl LHS, <3,0,1,2>
+    2752301297U, // <0,2,3,2>: Cost 3 vuzpl LHS, <3,1,2,3>
+    1678559644U, // <0,2,3,3>: Cost 2 vuzpl LHS, <3,3,3,3>
     2618591746U, // <0,2,3,4>: Cost 3 vext2 <0,2,0,2>, <3,4,5,6>
-    2752301570U, // <0,2,3,5>: Cost 3 vuzpl LHS, <3,4,5,6>
-    3830688102U, // <0,2,3,6>: Cost 4 vuzpl LHS, <3,2,6,3>
-    2698807012U, // <0,2,3,7>: Cost 3 vext3 <2,3,7,0>, <2,3,7,0>
-    2752301269U, // <0,2,3,u>: Cost 3 vuzpl LHS, <3,0,u,2>
-    2562261094U, // <0,2,4,0>: Cost 3 vext1 <2,0,2,4>, LHS
-    4095313828U, // <0,2,4,1>: Cost 4 vtrnl <0,2,4,6>, <2,6,1,3>
-    2226718152U, // <0,2,4,2>: Cost 3 vrev <2,0,2,4>
-    2568235169U, // <0,2,4,3>: Cost 3 vext1 <3,0,2,4>, <3,0,2,4>
-    2562264374U, // <0,2,4,4>: Cost 3 vext1 <2,0,2,4>, RHS
+    1678559746U, // <0,2,3,5>: Cost 2 vuzpl LHS, <3,4,5,6>
+    2756946278U, // <0,2,3,6>: Cost 3 vuzpl LHS, <3,2,6,3>
+    2824782848U, // <0,2,3,7>: Cost 3 vuzpr <1,0,3,2>, <1,3,5,7>
+    1678559445U, // <0,2,3,u>: Cost 2 vuzpl LHS, <3,0,u,2>
+    1678560588U, // <0,2,4,0>: Cost 2 vuzpl LHS, <4,6,0,2>
+    3021572004U, // <0,2,4,1>: Cost 3 vtrnl <0,2,4,6>, <2,6,1,3>
+    3021571688U, // <0,2,4,2>: Cost 3 vtrnl <0,2,4,6>, <2,2,2,2>
+    2954149990U, // <0,2,4,3>: Cost 3 vzipr <0,2,0,4>, LHS
+    1678560464U, // <0,2,4,4>: Cost 2 vuzpl LHS, <4,4,4,4>
     1544850742U, // <0,2,4,5>: Cost 2 vext2 <0,2,0,2>, RHS
-    1678560566U, // <0,2,4,6>: Cost 2 vuzpl LHS, RHS
+    604818742U,  // <0,2,4,6>: Cost 1 vuzpl LHS, RHS
     2592125957U, // <0,2,4,7>: Cost 3 vext1 <7,0,2,4>, <7,0,2,4>
-    1678560584U, // <0,2,4,u>: Cost 2 vuzpl LHS, RHS
-    2691876686U, // <0,2,5,0>: Cost 3 vext3 <1,2,3,0>, <2,5,0,7>
-    2618592976U, // <0,2,5,1>: Cost 3 vext2 <0,2,0,2>, <5,1,7,3>
-    3765618528U, // <0,2,5,2>: Cost 4 vext3 <1,2,3,0>, <2,5,2,7>
-    3765618536U, // <0,2,5,3>: Cost 4 vext3 <1,2,3,0>, <2,5,3,6>
-    2618593222U, // <0,2,5,4>: Cost 3 vext2 <0,2,0,2>, <5,4,7,6>
-    2752303108U, // <0,2,5,5>: Cost 3 vuzpl LHS, <5,5,5,5>
-    2618593378U, // <0,2,5,6>: Cost 3 vext2 <0,2,0,2>, <5,6,7,0>
-    2824785206U, // <0,2,5,7>: Cost 3 vuzpr <1,0,3,2>, RHS
-    2824785207U, // <0,2,5,u>: Cost 3 vuzpr <1,0,3,2>, RHS
-    2752303950U, // <0,2,6,0>: Cost 3 vuzpl LHS, <6,7,0,1>
-    3830690081U, // <0,2,6,1>: Cost 4 vuzpl LHS, <6,0,1,2>
-    2618593786U, // <0,2,6,2>: Cost 3 vext2 <0,2,0,2>, <6,2,7,3>
-    2691876794U, // <0,2,6,3>: Cost 3 vext3 <1,2,3,0>, <2,6,3,7>
-    2752303990U, // <0,2,6,4>: Cost 3 vuzpl LHS, <6,7,4,5>
-    3830690445U, // <0,2,6,5>: Cost 4 vuzpl LHS, <6,4,5,6>
-    2752303928U, // <0,2,6,6>: Cost 3 vuzpl LHS, <6,6,6,6>
-    2657743695U, // <0,2,6,7>: Cost 3 vext2 <6,7,0,2>, <6,7,0,2>
-    2691876839U, // <0,2,6,u>: Cost 3 vext3 <1,2,3,0>, <2,6,u,7>
-    2659070961U, // <0,2,7,0>: Cost 3 vext2 <7,0,0,2>, <7,0,0,2>
-    2659734594U, // <0,2,7,1>: Cost 3 vext2 <7,1,0,2>, <7,1,0,2>
-    3734140051U, // <0,2,7,2>: Cost 4 vext2 <7,2,0,2>, <7,2,0,2>
-    2701166596U, // <0,2,7,3>: Cost 3 vext3 <2,7,3,0>, <2,7,3,0>
-    2662389094U, // <0,2,7,4>: Cost 3 vext2 <7,5,0,2>, <7,4,5,6>
-    2662389126U, // <0,2,7,5>: Cost 3 vext2 <7,5,0,2>, <7,5,0,2>
-    3736794583U, // <0,2,7,6>: Cost 4 vext2 <7,6,0,2>, <7,6,0,2>
-    2752304748U, // <0,2,7,7>: Cost 3 vuzpl LHS, <7,7,7,7>
-    2659070961U, // <0,2,7,u>: Cost 3 vext2 <7,0,0,2>, <7,0,0,2>
-    1476608026U, // <0,2,u,0>: Cost 2 vext1 <0,0,2,u>, <0,0,2,u>
-    1544853294U, // <0,2,u,1>: Cost 2 vext2 <0,2,0,2>, LHS
-    1678563118U, // <0,2,u,2>: Cost 2 vuzpl LHS, LHS
-    3021178482U, // <0,2,u,3>: Cost 3 vtrnl LHS, <2,2,3,3>
-    1476611382U, // <0,2,u,4>: Cost 2 vext1 <0,0,2,u>, RHS
-    1544853658U, // <0,2,u,5>: Cost 2 vext2 <0,2,0,2>, RHS
-    1678563482U, // <0,2,u,6>: Cost 2 vuzpl LHS, RHS
-    2824785449U, // <0,2,u,7>: Cost 3 vuzpr <1,0,3,2>, RHS
-    1678563172U, // <0,2,u,u>: Cost 2 vuzpl LHS, LHS
+    604818760U,  // <0,2,4,u>: Cost 1 vuzpl LHS, RHS
+    3105260438U, // <0,2,5,0>: Cost 3 vtrnr <3,0,4,5>, <1,2,3,0>
+    1678561408U, // <0,2,5,1>: Cost 2 vuzpl LHS, <5,7,1,3>
+    2752303238U, // <0,2,5,2>: Cost 3 vuzpl LHS, <5,7,2,0>
+    2961457254U, // <0,2,5,3>: Cost 3 vzipr <1,4,0,5>, LHS
+    2756947554U, // <0,2,5,4>: Cost 3 vuzpl LHS, <5,0,4,1>
+    1678561284U, // <0,2,5,5>: Cost 2 vuzpl LHS, <5,5,5,5>
+    2645135458U, // <0,2,5,6>: Cost 3 vext2 <4,6,0,2>, <5,6,7,0>
+    1751043382U, // <0,2,5,7>: Cost 2 vuzpr <1,0,3,2>, RHS
+    1751043383U, // <0,2,5,u>: Cost 2 vuzpr <1,0,3,2>, RHS
+    1678562126U, // <0,2,6,0>: Cost 2 vuzpl LHS, <6,7,0,1>
+    2756948257U, // <0,2,6,1>: Cost 3 vuzpl LHS, <6,0,1,2>
+    2756948268U, // <0,2,6,2>: Cost 3 vuzpl LHS, <6,0,2,4>
+    2955493478U, // <0,2,6,3>: Cost 3 vzipr <0,4,0,6>, LHS
+    1678562166U, // <0,2,6,4>: Cost 2 vuzpl LHS, <6,7,4,5>
+    2756948621U, // <0,2,6,5>: Cost 3 vuzpl LHS, <6,4,5,6>
+    1678562104U, // <0,2,6,6>: Cost 2 vuzpl LHS, <6,6,6,6>
+    1678561786U, // <0,2,6,7>: Cost 2 vuzpl LHS, <6,2,7,3>
+    1678561795U, // <0,2,6,u>: Cost 2 vuzpl LHS, <6,2,u,3>
+    3099378582U, // <0,2,7,0>: Cost 3 vtrnr <2,0,5,7>, <1,2,3,0>
+    1678562298U, // <0,2,7,1>: Cost 2 vuzpl LHS, <7,0,1,2>
+    2818740342U, // <0,2,7,2>: Cost 3 vuzpr <0,0,2,2>, <5,7,0,2>
+    2968109158U, // <0,2,7,3>: Cost 3 vzipr <2,5,0,7>, LHS
+    2645136742U, // <0,2,7,4>: Cost 3 vext2 <4,6,0,2>, <7,4,5,6>
+    1678562662U, // <0,2,7,5>: Cost 2 vuzpl LHS, <7,4,5,6>
+    2752304330U, // <0,2,7,6>: Cost 3 vuzpl LHS, <7,2,6,3>
+    1678562924U, // <0,2,7,7>: Cost 2 vuzpl LHS, <7,7,7,7>
+    1678562361U, // <0,2,7,u>: Cost 2 vuzpl LHS, <7,0,u,2>
+    1947436710U, // <0,2,u,0>: Cost 2 vtrnl LHS, <2,3,0,1>
+    1678603987U, // <0,2,u,1>: Cost 2 vuzpl LHS, <u,0,1,2>
+    604821294U,  // <0,2,u,2>: Cost 1 vuzpl LHS, LHS
+    1947436658U, // <0,2,u,3>: Cost 2 vtrnl LHS, <2,2,3,3>
+    1947436750U, // <0,2,u,4>: Cost 2 vtrnl LHS, <2,3,4,5>
+    1678604351U, // <0,2,u,5>: Cost 2 vuzpl LHS, <u,4,5,6>
+    604821658U,  // <0,2,u,6>: Cost 1 vuzpl LHS, RHS
+    1751043625U, // <0,2,u,7>: Cost 2 vuzpr <1,0,3,2>, RHS
+    604821348U,  // <0,2,u,u>: Cost 1 vuzpl LHS, LHS
     2556329984U, // <0,3,0,0>: Cost 3 vext1 <1,0,3,0>, <0,0,0,0>
-    2686421142U, // <0,3,0,1>: Cost 3 vext3 <0,3,1,0>, <3,0,1,2>
-    2562303437U, // <0,3,0,2>: Cost 3 vext1 <2,0,3,0>, <2,0,3,0>
-    4094986652U, // <0,3,0,3>: Cost 4 vtrnl <0,2,0,2>, <3,3,3,3>
+    3021244566U, // <0,3,0,1>: Cost 3 vtrnl <0,2,0,2>, <3,0,1,2>
+    3021244573U, // <0,3,0,2>: Cost 3 vtrnl <0,2,0,2>, <3,0,2,0>
+    3021244828U, // <0,3,0,3>: Cost 3 vtrnl <0,2,0,2>, <3,3,3,3>
     2556333366U, // <0,3,0,4>: Cost 3 vext1 <1,0,3,0>, RHS
-    4094986754U, // <0,3,0,5>: Cost 4 vtrnl <0,2,0,2>, <3,4,5,6>
-    3798796488U, // <0,3,0,6>: Cost 4 vext3 <6,7,3,0>, <3,0,6,7>
-    3776530634U, // <0,3,0,7>: Cost 4 vext3 <3,0,7,0>, <3,0,7,0>
-    2556335918U, // <0,3,0,u>: Cost 3 vext1 <1,0,3,0>, LHS
-    2886518934U, // <0,3,1,0>: Cost 3 vzipl LHS, <3,0,1,2>
-    2556338933U, // <0,3,1,1>: Cost 3 vext1 <1,0,3,1>, <1,0,3,1>
-    2691877105U, // <0,3,1,2>: Cost 3 vext3 <1,2,3,0>, <3,1,2,3>
-    2886519196U, // <0,3,1,3>: Cost 3 vzipl LHS, <3,3,3,3>
-    2886519298U, // <0,3,1,4>: Cost 3 vzipl LHS, <3,4,5,6>
-    4095740418U, // <0,3,1,5>: Cost 4 vtrnl <0,3,1,4>, <3,4,5,6>
-    3659944242U, // <0,3,1,6>: Cost 4 vext1 <6,0,3,1>, <6,0,3,1>
-    3769600286U, // <0,3,1,7>: Cost 4 vext3 <1,u,3,0>, <3,1,7,3>
-    2886519582U, // <0,3,1,u>: Cost 3 vzipl LHS, <3,u,1,2>
+    3021244930U, // <0,3,0,5>: Cost 3 vtrnl <0,2,0,2>, <3,4,5,6>
+    4094986598U, // <0,3,0,6>: Cost 4 vtrnl <0,2,0,2>, <3,2,6,3>
+    2952791184U, // <0,3,0,7>: Cost 3 vzipr <0,0,0,0>, <1,5,3,7>
+    3021244629U, // <0,3,0,u>: Cost 3 vtrnl <0,2,0,2>, <3,0,u,2>
+    1812777110U, // <0,3,1,0>: Cost 2 vzipl LHS, <3,0,1,2>
+    2886519007U, // <0,3,1,1>: Cost 3 vzipl LHS, <3,1,0,3>
+    2886519105U, // <0,3,1,2>: Cost 3 vzipl LHS, <3,2,2,2>
+    1812777372U, // <0,3,1,3>: Cost 2 vzipl LHS, <3,3,3,3>
+    1812777474U, // <0,3,1,4>: Cost 2 vzipl LHS, <3,4,5,6>
+    3021998594U, // <0,3,1,5>: Cost 3 vtrnl <0,3,1,4>, <3,4,5,6>
+    2886519416U, // <0,3,1,6>: Cost 3 vzipl LHS, <3,6,0,7>
+    2966733968U, // <0,3,1,7>: Cost 3 vzipr <2,3,0,1>, <1,5,3,7>
+    1812777758U, // <0,3,1,u>: Cost 2 vzipl LHS, <3,u,1,2>
     1482604646U, // <0,3,2,0>: Cost 2 vext1 <1,0,3,2>, LHS
-    1482605302U, // <0,3,2,1>: Cost 2 vext1 <1,0,3,2>, <1,0,3,2>
-    2556348008U, // <0,3,2,2>: Cost 3 vext1 <1,0,3,2>, <2,2,2,2>
-    3020736924U, // <0,3,2,3>: Cost 3 vtrnl LHS, <3,3,3,3>
+    1946994838U, // <0,3,2,1>: Cost 2 vtrnl LHS, <3,0,1,2>
+    3020736753U, // <0,3,2,2>: Cost 3 vtrnl LHS, <3,1,2,3>
+    1946995100U, // <0,3,2,3>: Cost 2 vtrnl LHS, <3,3,3,3>
     1482607926U, // <0,3,2,4>: Cost 2 vext1 <1,0,3,2>, RHS
-    3020737026U, // <0,3,2,5>: Cost 3 vtrnl LHS, <3,4,5,6>
-    2598154746U, // <0,3,2,6>: Cost 3 vext1 <u,0,3,2>, <6,2,7,3>
-    2598155258U, // <0,3,2,7>: Cost 3 vext1 <u,0,3,2>, <7,0,1,2>
-    1482610478U, // <0,3,2,u>: Cost 2 vext1 <1,0,3,2>, LHS
-    3692341398U, // <0,3,3,0>: Cost 4 vext2 <0,2,0,3>, <3,0,1,2>
-    2635851999U, // <0,3,3,1>: Cost 3 vext2 <3,1,0,3>, <3,1,0,3>
-    3636069840U, // <0,3,3,2>: Cost 4 vext1 <2,0,3,3>, <2,0,3,3>
-    2691877276U, // <0,3,3,3>: Cost 3 vext3 <1,2,3,0>, <3,3,3,3>
-    3961522690U, // <0,3,3,4>: Cost 4 vzipl <0,3,1,4>, <3,4,5,6>
-    3826797058U, // <0,3,3,5>: Cost 4 vuzpl <0,2,3,5>, <3,4,5,6>
-    3703622282U, // <0,3,3,6>: Cost 4 vext2 <2,1,0,3>, <3,6,2,7>
+    1946995202U, // <0,3,2,5>: Cost 2 vtrnl LHS, <3,4,5,6>
+    3025381734U, // <0,3,2,6>: Cost 3 vtrnl LHS, <3,2,6,3>
+    2954134672U, // <0,3,2,7>: Cost 3 vzipr <0,2,0,2>, <1,5,3,7>
+    1946994901U, // <0,3,2,u>: Cost 2 vtrnl LHS, <3,0,u,2>
+    2887747734U, // <0,3,3,0>: Cost 3 vzipl <0,3,1,0>, <3,0,1,2>
+    2753022102U, // <0,3,3,1>: Cost 3 vuzpl <0,2,3,1>, <3,0,1,2>
+    2965422838U, // <0,3,3,2>: Cost 3 vzipr <2,1,0,3>, <1,0,3,2>
+    2753038748U, // <0,3,3,3>: Cost 3 vuzpl <0,2,3,3>, <3,3,3,3>
+    2887780866U, // <0,3,3,4>: Cost 3 vzipl <0,3,1,4>, <3,4,5,6>
+    2753055234U, // <0,3,3,5>: Cost 3 vuzpl <0,2,3,5>, <3,4,5,6>
+    3830786406U, // <0,3,3,6>: Cost 4 vuzpl <0,u,3,6>, <3,2,6,3>
     3769600452U, // <0,3,3,7>: Cost 4 vext3 <1,u,3,0>, <3,3,7,7>
-    2640497430U, // <0,3,3,u>: Cost 3 vext2 <3,u,0,3>, <3,u,0,3>
-    3962194070U, // <0,3,4,0>: Cost 4 vzipl <0,4,1,5>, <3,0,1,2>
-    2232617112U, // <0,3,4,1>: Cost 3 vrev <3,0,1,4>
-    2232690849U, // <0,3,4,2>: Cost 3 vrev <3,0,2,4>
-    4095314332U, // <0,3,4,3>: Cost 4 vtrnl <0,2,4,6>, <3,3,3,3>
-    3962194434U, // <0,3,4,4>: Cost 4 vzipl <0,4,1,5>, <3,4,5,6>
-    2691877378U, // <0,3,4,5>: Cost 3 vext3 <1,2,3,0>, <3,4,5,6>
-    3826765110U, // <0,3,4,6>: Cost 4 vuzpl <0,2,3,1>, RHS
-    3665941518U, // <0,3,4,7>: Cost 4 vext1 <7,0,3,4>, <7,0,3,4>
-    2691877405U, // <0,3,4,u>: Cost 3 vext3 <1,2,3,0>, <3,4,u,6>
+    2753079509U, // <0,3,3,u>: Cost 3 vuzpl <0,2,3,u>, <3,0,u,2>
+    2888452246U, // <0,3,4,0>: Cost 3 vzipl <0,4,1,5>, <3,0,1,2>
+    3021572246U, // <0,3,4,1>: Cost 3 vtrnl <0,2,4,6>, <3,0,1,2>
+    3021572257U, // <0,3,4,2>: Cost 3 vtrnl <0,2,4,6>, <3,0,2,4>
+    3021572508U, // <0,3,4,3>: Cost 3 vtrnl <0,2,4,6>, <3,3,3,3>
+    2888452610U, // <0,3,4,4>: Cost 3 vzipl <0,4,1,5>, <3,4,5,6>
+    3021572610U, // <0,3,4,5>: Cost 3 vtrnl <0,2,4,6>, <3,4,5,6>
+    2753023286U, // <0,3,4,6>: Cost 3 vuzpl <0,2,3,1>, RHS
+    4027892880U, // <0,3,4,7>: Cost 4 vzipr <0,2,0,4>, <1,5,3,7>
+    2753023304U, // <0,3,4,u>: Cost 3 vuzpl <0,2,3,1>, RHS
     3630112870U, // <0,3,5,0>: Cost 4 vext1 <1,0,3,5>, LHS
-    3630113526U, // <0,3,5,1>: Cost 4 vext1 <1,0,3,5>, <1,0,3,2>
-    4035199734U, // <0,3,5,2>: Cost 4 vzipr <1,4,0,5>, <1,0,3,2>
-    3769600578U, // <0,3,5,3>: Cost 4 vext3 <1,u,3,0>, <3,5,3,7>
+    3630113529U, // <0,3,5,1>: Cost 4 vext1 <1,0,3,5>, <1,0,3,5>
+    2961457910U, // <0,3,5,2>: Cost 3 vzipr <1,4,0,5>, <1,0,3,2>
+    4035199816U, // <0,3,5,3>: Cost 4 vzipr <1,4,0,5>, <1,1,3,3>
     2232846516U, // <0,3,5,4>: Cost 3 vrev <3,0,4,5>
-    3779037780U, // <0,3,5,5>: Cost 4 vext3 <3,4,5,0>, <3,5,5,7>
-    2718714461U, // <0,3,5,6>: Cost 3 vext3 <5,6,7,0>, <3,5,6,7>
-    2706106975U, // <0,3,5,7>: Cost 3 vext3 <3,5,7,0>, <3,5,7,0>
-    2233141464U, // <0,3,5,u>: Cost 3 vrev <3,0,u,5>
-    2691877496U, // <0,3,6,0>: Cost 3 vext3 <1,2,3,0>, <3,6,0,7>
-    3727511914U, // <0,3,6,1>: Cost 4 vext2 <6,1,0,3>, <6,1,0,3>
-    3765619338U, // <0,3,6,2>: Cost 4 vext3 <1,2,3,0>, <3,6,2,7>
-    3765619347U, // <0,3,6,3>: Cost 4 vext3 <1,2,3,0>, <3,6,3,7>
-    3765987996U, // <0,3,6,4>: Cost 4 vext3 <1,2,u,0>, <3,6,4,7>
-    3306670270U, // <0,3,6,5>: Cost 4 vrev <3,0,5,6>
+    4172957390U, // <0,3,5,5>: Cost 4 vtrnr <2,0,3,5>, <2,3,4,5>
+    2653769826U, // <0,3,5,6>: Cost 3 vext2 <6,1,0,3>, <5,6,7,0>
+    2830617910U, // <0,3,5,7>: Cost 3 vuzpr <2,0,1,3>, RHS
+    2830617911U, // <0,3,5,u>: Cost 3 vuzpr <2,0,1,3>, RHS
+    2854506594U, // <0,3,6,0>: Cost 3 vuzpr <6,0,1,3>, <5,6,7,0>
+    2653770090U, // <0,3,6,1>: Cost 3 vext2 <6,1,0,3>, <6,1,0,3>
+    4029235958U, // <0,3,6,2>: Cost 4 vzipr <0,4,0,6>, <1,0,3,2>
+    4029236040U, // <0,3,6,3>: Cost 4 vzipr <0,4,0,6>, <1,1,3,3>
+    4029236122U, // <0,3,6,4>: Cost 4 vzipr <0,4,0,6>, <1,2,3,4>
+    3727512242U, // <0,3,6,5>: Cost 4 vext2 <6,1,0,3>, <6,5,0,7>
     3792456365U, // <0,3,6,6>: Cost 4 vext3 <5,6,7,0>, <3,6,6,6>
     2706770608U, // <0,3,6,7>: Cost 3 vext3 <3,6,7,0>, <3,6,7,0>
-    2706844345U, // <0,3,6,u>: Cost 3 vext3 <3,6,u,0>, <3,6,u,0>
-    3769600707U, // <0,3,7,0>: Cost 4 vext3 <1,u,3,0>, <3,7,0,1>
+    2658415521U, // <0,3,6,u>: Cost 3 vext2 <6,u,0,3>, <6,u,0,3>
+    2968109974U, // <0,3,7,0>: Cost 3 vzipr <2,5,0,7>, <1,2,3,0>
     2659742787U, // <0,3,7,1>: Cost 3 vext2 <7,1,0,3>, <7,1,0,3>
-    3636102612U, // <0,3,7,2>: Cost 4 vext1 <2,0,3,7>, <2,0,3,7>
+    2660406420U, // <0,3,7,2>: Cost 3 vext2 <7,2,0,3>, <7,2,0,3>
     3769600740U, // <0,3,7,3>: Cost 4 vext3 <1,u,3,0>, <3,7,3,7>
     3769600747U, // <0,3,7,4>: Cost 4 vext3 <1,u,3,0>, <3,7,4,5>
     3769600758U, // <0,3,7,5>: Cost 4 vext3 <1,u,3,0>, <3,7,5,7>
-    3659993400U, // <0,3,7,6>: Cost 4 vext1 <6,0,3,7>, <6,0,3,7>
-    3781176065U, // <0,3,7,7>: Cost 4 vext3 <3,7,7,0>, <3,7,7,0>
+    4048487000U, // <0,3,7,6>: Cost 4 vzipr <3,6,0,7>, <0,7,3,6>
+    4172973056U, // <0,3,7,7>: Cost 4 vtrnr <2,0,3,7>, <1,3,5,7>
     2664388218U, // <0,3,7,u>: Cost 3 vext2 <7,u,0,3>, <7,u,0,3>
-    1482653798U, // <0,3,u,0>: Cost 2 vext1 <1,0,3,u>, LHS
-    1482654460U, // <0,3,u,1>: Cost 2 vext1 <1,0,3,u>, <1,0,3,u>
-    2556397160U, // <0,3,u,2>: Cost 3 vext1 <1,0,3,u>, <2,2,2,2>
-    3021179292U, // <0,3,u,3>: Cost 3 vtrnl LHS, <3,3,3,3>
-    1482657078U, // <0,3,u,4>: Cost 2 vext1 <1,0,3,u>, RHS
-    3021179394U, // <0,3,u,5>: Cost 3 vtrnl LHS, <3,4,5,6>
-    2598203898U, // <0,3,u,6>: Cost 3 vext1 <u,0,3,u>, <6,2,7,3>
-    2708097874U, // <0,3,u,7>: Cost 3 vext3 <3,u,7,0>, <3,u,7,0>
-    1482659630U, // <0,3,u,u>: Cost 2 vext1 <1,0,3,u>, LHS
-    2617278468U, // <0,4,0,0>: Cost 3 vext2 <0,0,0,4>, <0,0,0,4>
+    1817421974U, // <0,3,u,0>: Cost 2 vzipl LHS, <3,0,1,2>
+    1947437206U, // <0,3,u,1>: Cost 2 vtrnl LHS, <3,0,1,2>
+    3021179037U, // <0,3,u,2>: Cost 3 vtrnl LHS, <3,0,2,0>
+    1947437468U, // <0,3,u,3>: Cost 2 vtrnl LHS, <3,3,3,3>
+    1817422338U, // <0,3,u,4>: Cost 2 vzipl LHS, <3,4,5,6>
+    1947437570U, // <0,3,u,5>: Cost 2 vtrnl LHS, <3,4,5,6>
+    3021179238U, // <0,3,u,6>: Cost 3 vtrnl LHS, <3,2,6,3>
+    2954183824U, // <0,3,u,7>: Cost 3 vzipr <0,2,0,u>, <1,5,3,7>
+    1947437269U, // <0,3,u,u>: Cost 2 vtrnl LHS, <3,0,u,2>
+    2753126564U, // <0,4,0,0>: Cost 3 vuzpl <0,2,4,5>, <0,2,0,2>
     2618605670U, // <0,4,0,1>: Cost 3 vext2 <0,2,0,4>, LHS
-    2618605734U, // <0,4,0,2>: Cost 3 vext2 <0,2,0,4>, <0,2,0,4>
-    3642091695U, // <0,4,0,3>: Cost 4 vext1 <3,0,4,0>, <3,0,4,0>
-    2753134796U, // <0,4,0,4>: Cost 3 vuzpl <0,2,4,6>, <0,2,4,6>
-    2718714770U, // <0,4,0,5>: Cost 3 vext3 <5,6,7,0>, <4,0,5,1>
-    3021245750U, // <0,4,0,6>: Cost 3 vtrnl <0,2,0,2>, RHS
+    1679392870U, // <0,4,0,2>: Cost 2 vuzpl <0,2,4,6>, LHS
+    3826876606U, // <0,4,0,3>: Cost 4 vuzpl <0,2,4,6>, <0,2,3,1>
+    1679392972U, // <0,4,0,4>: Cost 2 vuzpl <0,2,4,6>, <0,2,4,6>
+    1811942710U, // <0,4,0,5>: Cost 2 vzipl <0,0,0,0>, RHS
+    1947503926U, // <0,4,0,6>: Cost 2 vtrnl <0,2,0,2>, RHS
     3665982483U, // <0,4,0,7>: Cost 4 vext1 <7,0,4,0>, <7,0,4,0>
-    3021245768U, // <0,4,0,u>: Cost 3 vtrnl <0,2,0,2>, RHS
-    2568355942U, // <0,4,1,0>: Cost 3 vext1 <3,0,4,1>, LHS
-    3692348212U, // <0,4,1,1>: Cost 4 vext2 <0,2,0,4>, <1,1,1,1>
-    3692348310U, // <0,4,1,2>: Cost 4 vext2 <0,2,0,4>, <1,2,3,0>
-    2568358064U, // <0,4,1,3>: Cost 3 vext1 <3,0,4,1>, <3,0,4,1>
-    2568359222U, // <0,4,1,4>: Cost 3 vext1 <3,0,4,1>, RHS
-    1812778294U, // <0,4,1,5>: Cost 2 vzipl LHS, RHS
-    3022671158U, // <0,4,1,6>: Cost 3 vtrnl <0,4,1,5>, RHS
+    1947503944U, // <0,4,0,u>: Cost 2 vtrnl <0,2,0,2>, RHS
+    1812777874U, // <0,4,1,0>: Cost 2 vzipl LHS, <4,0,5,1>
+    2753135412U, // <0,4,1,1>: Cost 3 vuzpl <0,2,4,6>, <1,1,1,1>
+    2753135588U, // <0,4,1,2>: Cost 3 vuzpl <0,2,4,6>, <1,3,2,6>
+    2753135350U, // <0,4,1,3>: Cost 3 vuzpl <0,2,4,6>, <1,0,3,2>
+    1812778192U, // <0,4,1,4>: Cost 2 vzipl LHS, <4,4,4,4>
+    739036470U,  // <0,4,1,5>: Cost 1 vzipl LHS, RHS
+    1948929334U, // <0,4,1,6>: Cost 2 vtrnl <0,4,1,5>, RHS
     2592248852U, // <0,4,1,7>: Cost 3 vext1 <7,0,4,1>, <7,0,4,1>
-    1812778537U, // <0,4,1,u>: Cost 2 vzipl LHS, RHS
-    2568364134U, // <0,4,2,0>: Cost 3 vext1 <3,0,4,2>, LHS
-    2238573423U, // <0,4,2,1>: Cost 3 vrev <4,0,1,2>
-    3692349032U, // <0,4,2,2>: Cost 4 vext2 <0,2,0,4>, <2,2,2,2>
-    2631214761U, // <0,4,2,3>: Cost 3 vext2 <2,3,0,4>, <2,3,0,4>
-    2568367414U, // <0,4,2,4>: Cost 3 vext1 <3,0,4,2>, RHS
-    2887028022U, // <0,4,2,5>: Cost 3 vzipl <0,2,0,2>, RHS
-    1946996022U, // <0,4,2,6>: Cost 2 vtrnl LHS, RHS
+    739036713U,  // <0,4,1,u>: Cost 1 vzipl LHS, RHS
+    1946996044U, // <0,4,2,0>: Cost 2 vtrnl LHS, <4,6,0,2>
+    3022753110U, // <0,4,2,1>: Cost 3 vtrnl <0,4,2,6>, <4,6,1,3>
+    2753136232U, // <0,4,2,2>: Cost 3 vuzpl <0,2,4,6>, <2,2,2,2>
+    2753136242U, // <0,4,2,3>: Cost 3 vuzpl <0,2,4,6>, <2,2,3,3>
+    1946995920U, // <0,4,2,4>: Cost 2 vtrnl LHS, <4,4,4,4>
+    1813286198U, // <0,4,2,5>: Cost 2 vzipl <0,2,0,2>, RHS
+    873254198U,  // <0,4,2,6>: Cost 1 vtrnl LHS, RHS
     2592257045U, // <0,4,2,7>: Cost 3 vext1 <7,0,4,2>, <7,0,4,2>
-    1946996040U, // <0,4,2,u>: Cost 2 vtrnl LHS, RHS
+    873254216U,  // <0,4,2,u>: Cost 1 vtrnl LHS, RHS
     3692349590U, // <0,4,3,0>: Cost 4 vext2 <0,2,0,4>, <3,0,1,2>
-    3826878614U, // <0,4,3,1>: Cost 4 vuzpl <0,2,4,6>, <3,0,1,2>
-    3826878625U, // <0,4,3,2>: Cost 4 vuzpl <0,2,4,6>, <3,0,2,4>
-    3692349852U, // <0,4,3,3>: Cost 4 vext2 <0,2,0,4>, <3,3,3,3>
+    2753136790U, // <0,4,3,1>: Cost 3 vuzpl <0,2,4,6>, <3,0,1,2>
+    2753136801U, // <0,4,3,2>: Cost 3 vuzpl <0,2,4,6>, <3,0,2,4>
+    2753137052U, // <0,4,3,3>: Cost 3 vuzpl <0,2,4,6>, <3,3,3,3>
     3692349954U, // <0,4,3,4>: Cost 4 vext2 <0,2,0,4>, <3,4,5,6>
-    3826878978U, // <0,4,3,5>: Cost 4 vuzpl <0,2,4,6>, <3,4,5,6>
-    4095200566U, // <0,4,3,6>: Cost 4 vtrnl <0,2,3,1>, RHS
-    3713583814U, // <0,4,3,7>: Cost 4 vext2 <3,7,0,4>, <3,7,0,4>
-    3692350238U, // <0,4,3,u>: Cost 4 vext2 <0,2,0,4>, <3,u,1,2>
-    2550464552U, // <0,4,4,0>: Cost 3 vext1 <0,0,4,4>, <0,0,4,4>
-    3962194914U, // <0,4,4,1>: Cost 4 vzipl <0,4,1,5>, <4,1,5,0>
-    3693677631U, // <0,4,4,2>: Cost 4 vext2 <0,4,0,4>, <4,2,6,3>
-    3642124467U, // <0,4,4,3>: Cost 4 vext1 <3,0,4,4>, <3,0,4,4>
-    2718715088U, // <0,4,4,4>: Cost 3 vext3 <5,6,7,0>, <4,4,4,4>
-    2618608950U, // <0,4,4,5>: Cost 3 vext2 <0,2,0,4>, RHS
-    2753137974U, // <0,4,4,6>: Cost 3 vuzpl <0,2,4,6>, RHS
-    3666015255U, // <0,4,4,7>: Cost 4 vext1 <7,0,4,4>, <7,0,4,4>
-    2618609193U, // <0,4,4,u>: Cost 3 vext2 <0,2,0,4>, RHS
+    2753137154U, // <0,4,3,5>: Cost 3 vuzpl <0,2,4,6>, <3,4,5,6>
+    3021458742U, // <0,4,3,6>: Cost 3 vtrnl <0,2,3,1>, RHS
+    3904439296U, // <0,4,3,7>: Cost 4 vuzpr <2,0,2,4>, <1,3,5,7>
+    3021458760U, // <0,4,3,u>: Cost 3 vtrnl <0,2,3,1>, RHS
+    2753137995U, // <0,4,4,0>: Cost 3 vuzpl <0,2,4,6>, <4,6,0,1>
+    2888453090U, // <0,4,4,1>: Cost 3 vzipl <0,4,1,5>, <4,1,5,0>
+    2888535100U, // <0,4,4,2>: Cost 3 vzipl <0,4,2,6>, <4,2,6,0>
+    4027891913U, // <0,4,4,3>: Cost 4 vzipr <0,2,0,4>, <0,2,4,3>
+    2753137872U, // <0,4,4,4>: Cost 3 vuzpl <0,2,4,6>, <4,4,4,4>
+    1814711606U, // <0,4,4,5>: Cost 2 vzipl <0,4,1,5>, RHS
+    1679396150U, // <0,4,4,6>: Cost 2 vuzpl <0,2,4,6>, RHS
+    4172874104U, // <0,4,4,7>: Cost 4 vtrnr <2,0,2,4>, <0,4,5,7>
+    1679396168U, // <0,4,4,u>: Cost 2 vuzpl <0,2,4,6>, RHS
     2568388710U, // <0,4,5,0>: Cost 3 vext1 <3,0,4,5>, LHS
     2568389526U, // <0,4,5,1>: Cost 3 vext1 <3,0,4,5>, <1,2,3,0>
-    3636159963U, // <0,4,5,2>: Cost 4 vext1 <2,0,4,5>, <2,0,4,5>
+    2753138828U, // <0,4,5,2>: Cost 3 vuzpl <0,2,4,6>, <5,7,2,6>
     2568390836U, // <0,4,5,3>: Cost 3 vext1 <3,0,4,5>, <3,0,4,5>
     2568391990U, // <0,4,5,4>: Cost 3 vext1 <3,0,4,5>, RHS
     2718715180U, // <0,4,5,5>: Cost 3 vext3 <5,6,7,0>, <4,5,5,6>
     1618136374U, // <0,4,5,6>: Cost 2 vext3 <1,2,3,0>, RHS
-    2592281624U, // <0,4,5,7>: Cost 3 vext1 <7,0,4,5>, <7,0,4,5>
+    2830699830U, // <0,4,5,7>: Cost 3 vuzpr <2,0,2,4>, RHS
     1618136392U, // <0,4,5,u>: Cost 2 vext3 <1,2,3,0>, RHS
-    2550480938U, // <0,4,6,0>: Cost 3 vext1 <0,0,4,6>, <0,0,4,6>
-    3826880801U, // <0,4,6,1>: Cost 4 vuzpl <0,2,4,6>, <6,0,1,2>
-    2562426332U, // <0,4,6,2>: Cost 3 vext1 <2,0,4,6>, <2,0,4,6>
-    3786190181U, // <0,4,6,3>: Cost 4 vext3 <4,6,3,0>, <4,6,3,0>
-    2718715252U, // <0,4,6,4>: Cost 3 vext3 <5,6,7,0>, <4,6,4,6>
-    3826881165U, // <0,4,6,5>: Cost 4 vuzpl <0,2,4,6>, <6,4,5,6>
-    2712669568U, // <0,4,6,6>: Cost 3 vext3 <4,6,6,0>, <4,6,6,0>
+    2712227146U, // <0,4,6,0>: Cost 3 vext3 <4,6,0,0>, <4,6,0,0>
+    2753138977U, // <0,4,6,1>: Cost 3 vuzpl <0,2,4,6>, <6,0,1,2>
+    2753138988U, // <0,4,6,2>: Cost 3 vuzpl <0,2,4,6>, <6,0,2,4>
+    3826880899U, // <0,4,6,3>: Cost 4 vuzpl <0,2,4,6>, <6,1,3,1>
+    2712522094U, // <0,4,6,4>: Cost 3 vext3 <4,6,4,0>, <4,6,4,0>
+    2753139341U, // <0,4,6,5>: Cost 3 vuzpl <0,2,4,6>, <6,4,5,6>
+    2753139512U, // <0,4,6,6>: Cost 3 vuzpl <0,2,4,6>, <6,6,6,6>
     2657760081U, // <0,4,6,7>: Cost 3 vext2 <6,7,0,4>, <6,7,0,4>
-    2718715284U, // <0,4,6,u>: Cost 3 vext3 <5,6,7,0>, <4,6,u,2>
-    3654090854U, // <0,4,7,0>: Cost 4 vext1 <5,0,4,7>, LHS
-    3934229326U, // <0,4,7,1>: Cost 4 vuzpr <7,0,1,4>, <6,7,0,1>
-    3734156437U, // <0,4,7,2>: Cost 4 vext2 <7,2,0,4>, <7,2,0,4>
-    3734820070U, // <0,4,7,3>: Cost 4 vext2 <7,3,0,4>, <7,3,0,4>
-    3654094134U, // <0,4,7,4>: Cost 4 vext1 <5,0,4,7>, RHS
+    2753139040U, // <0,4,6,u>: Cost 3 vuzpl <0,2,4,6>, <6,0,u,2>
+    4185065260U, // <0,4,7,0>: Cost 4 vtrnr <4,0,5,7>, <2,4,6,0>
+    2860487502U, // <0,4,7,1>: Cost 3 vuzpr <7,0,1,4>, <6,7,0,1>
+    2753139717U, // <0,4,7,2>: Cost 3 vuzpl <0,2,4,6>, <7,0,2,4>
+    3928330368U, // <0,4,7,3>: Cost 4 vuzpr <6,0,2,4>, <5,7,1,3>
+    3718894950U, // <0,4,7,4>: Cost 4 vext2 <4,6,0,4>, <7,4,5,6>
     2713259464U, // <0,4,7,5>: Cost 3 vext3 <4,7,5,0>, <4,7,5,0>
-    2713333201U, // <0,4,7,6>: Cost 3 vext3 <4,7,6,0>, <4,7,6,0>
-    3654095866U, // <0,4,7,7>: Cost 4 vext1 <5,0,4,7>, <7,0,1,2>
-    2713259464U, // <0,4,7,u>: Cost 3 vext3 <4,7,5,0>, <4,7,5,0>
-    2568413286U, // <0,4,u,0>: Cost 3 vext1 <3,0,4,u>, LHS
+    3021753654U, // <0,4,7,6>: Cost 3 vtrnl <0,2,7,1>, RHS
+    2753140332U, // <0,4,7,7>: Cost 3 vuzpl <0,2,4,6>, <7,7,7,7>
+    2860487502U, // <0,4,7,u>: Cost 3 vuzpr <7,0,1,4>, <6,7,0,1>
+    1947438412U, // <0,4,u,0>: Cost 2 vtrnl LHS, <4,6,0,2>
     2618611502U, // <0,4,u,1>: Cost 3 vext2 <0,2,0,4>, LHS
-    2753140526U, // <0,4,u,2>: Cost 3 vuzpl <0,2,4,6>, LHS
-    2568415415U, // <0,4,u,3>: Cost 3 vext1 <3,0,4,u>, <3,0,4,u>
-    2568416566U, // <0,4,u,4>: Cost 3 vext1 <3,0,4,u>, RHS
-    1817423158U, // <0,4,u,5>: Cost 2 vzipl LHS, RHS
-    1947438390U, // <0,4,u,6>: Cost 2 vtrnl LHS, RHS
-    2592306203U, // <0,4,u,7>: Cost 3 vext1 <7,0,4,u>, <7,0,4,u>
-    1947438408U, // <0,4,u,u>: Cost 2 vtrnl LHS, RHS
-    3630219264U, // <0,5,0,0>: Cost 4 vext1 <1,0,5,0>, <0,0,0,0>
+    1679398702U, // <0,4,u,2>: Cost 2 vuzpl <0,2,4,6>, LHS
+    2753140616U, // <0,4,u,3>: Cost 3 vuzpl <0,2,4,6>, <u,2,3,3>
+    1679392972U, // <0,4,u,4>: Cost 2 vuzpl <0,2,4,6>, <0,2,4,6>
+    743681334U,  // <0,4,u,5>: Cost 1 vzipl LHS, RHS
+    873696566U,  // <0,4,u,6>: Cost 1 vtrnl LHS, RHS
+    2830700073U, // <0,4,u,7>: Cost 3 vuzpr <2,0,2,4>, RHS
+    873696584U,  // <0,4,u,u>: Cost 1 vtrnl LHS, RHS
+    2885684860U, // <0,5,0,0>: Cost 3 vzipl <0,0,0,0>, <5,0,7,0>
     2625912934U, // <0,5,0,1>: Cost 3 vext2 <1,4,0,5>, LHS
-    3692355748U, // <0,5,0,2>: Cost 4 vext2 <0,2,0,5>, <0,2,0,2>
+    2751889510U, // <0,5,0,2>: Cost 3 vuzpl <0,0,5,7>, LHS
     3693019384U, // <0,5,0,3>: Cost 4 vext2 <0,3,0,5>, <0,3,0,5>
-    3630222646U, // <0,5,0,4>: Cost 4 vext1 <1,0,5,0>, RHS
-    3699655062U, // <0,5,0,5>: Cost 4 vext2 <1,4,0,5>, <0,5,0,1>
-    2718715508U, // <0,5,0,6>: Cost 3 vext3 <5,6,7,0>, <5,0,6,1>
-    3087011126U, // <0,5,0,7>: Cost 3 vtrnr <0,0,0,0>, RHS
-    2625913501U, // <0,5,0,u>: Cost 3 vext2 <1,4,0,5>, LHS
+    2885685190U, // <0,5,0,4>: Cost 3 vzipl <0,0,0,0>, <5,4,7,6>
+    2836826292U, // <0,5,0,5>: Cost 3 vuzpr <3,0,4,5>, <3,0,4,5>
+    2885685346U, // <0,5,0,6>: Cost 3 vzipl <0,0,0,0>, <5,6,7,0>
+    2013269302U, // <0,5,0,7>: Cost 2 vtrnr <0,0,0,0>, RHS
+    2013269303U, // <0,5,0,u>: Cost 2 vtrnr <0,0,0,0>, RHS
     1500659814U, // <0,5,1,0>: Cost 2 vext1 <4,0,5,1>, LHS
-    2886520528U, // <0,5,1,1>: Cost 3 vzipl LHS, <5,1,7,3>
-    2574403176U, // <0,5,1,2>: Cost 3 vext1 <4,0,5,1>, <2,2,2,2>
-    2574403734U, // <0,5,1,3>: Cost 3 vext1 <4,0,5,1>, <3,0,1,2>
-    1500662674U, // <0,5,1,4>: Cost 2 vext1 <4,0,5,1>, <4,0,5,1>
-    2886520836U, // <0,5,1,5>: Cost 3 vzipl LHS, <5,5,5,5>
-    2886520930U, // <0,5,1,6>: Cost 3 vzipl LHS, <5,6,7,0>
-    2718715600U, // <0,5,1,7>: Cost 3 vext3 <5,6,7,0>, <5,1,7,3>
-    1500665646U, // <0,5,1,u>: Cost 2 vext1 <4,0,5,1>, LHS
-    2556493926U, // <0,5,2,0>: Cost 3 vext1 <1,0,5,2>, LHS
-    2244546120U, // <0,5,2,1>: Cost 3 vrev <5,0,1,2>
-    3692357256U, // <0,5,2,2>: Cost 4 vext2 <0,2,0,5>, <2,2,5,7>
-    2568439994U, // <0,5,2,3>: Cost 3 vext1 <3,0,5,2>, <3,0,5,2>
-    2556497206U, // <0,5,2,4>: Cost 3 vext1 <1,0,5,2>, RHS
-    3020738564U, // <0,5,2,5>: Cost 3 vtrnl LHS, <5,5,5,5>
-    4027877161U, // <0,5,2,6>: Cost 4 vzipr <0,2,0,2>, <2,4,5,6>
-    3093220662U, // <0,5,2,7>: Cost 3 vtrnr <1,0,3,2>, RHS
-    3093220663U, // <0,5,2,u>: Cost 3 vtrnr <1,0,3,2>, RHS
-    3699656854U, // <0,5,3,0>: Cost 4 vext2 <1,4,0,5>, <3,0,1,2>
+    1812778704U, // <0,5,1,1>: Cost 2 vzipl LHS, <5,1,7,3>
+    2886520555U, // <0,5,1,2>: Cost 3 vzipl LHS, <5,2,1,3>
+    2836824166U, // <0,5,1,3>: Cost 3 vuzpr <3,0,4,5>, LHS
+    1812778950U, // <0,5,1,4>: Cost 2 vzipl LHS, <5,4,7,6>
+    1812779012U, // <0,5,1,5>: Cost 2 vzipl LHS, <5,5,5,5>
+    1812779106U, // <0,5,1,6>: Cost 2 vzipl LHS, <5,6,7,0>
+    2013351222U, // <0,5,1,7>: Cost 2 vtrnr <0,0,1,1>, RHS
+    2013351223U, // <0,5,1,u>: Cost 2 vtrnr <0,0,1,1>, RHS
+    2836824982U, // <0,5,2,0>: Cost 3 vuzpr <3,0,4,5>, <1,2,3,0>
+    1946996864U, // <0,5,2,1>: Cost 2 vtrnl LHS, <5,7,1,3>
+    3020738694U, // <0,5,2,2>: Cost 3 vtrnl LHS, <5,7,2,0>
+    3020738302U, // <0,5,2,3>: Cost 3 vtrnl LHS, <5,2,3,4>
+    3025383010U, // <0,5,2,4>: Cost 3 vtrnl LHS, <5,0,4,1>
+    1946996740U, // <0,5,2,5>: Cost 2 vtrnl LHS, <5,5,5,5>
+    2954135337U, // <0,5,2,6>: Cost 3 vzipr <0,2,0,2>, <2,4,5,6>
+    2019478838U, // <0,5,2,7>: Cost 2 vtrnr <1,0,3,2>, RHS
+    2019478839U, // <0,5,2,u>: Cost 2 vtrnr <1,0,3,2>, RHS
+    2637858966U, // <0,5,3,0>: Cost 3 vext2 <3,4,0,5>, <3,0,1,2>
     3699656927U, // <0,5,3,1>: Cost 4 vext2 <1,4,0,5>, <3,1,0,3>
-    3699657006U, // <0,5,3,2>: Cost 4 vext2 <1,4,0,5>, <3,2,0,1>
-    3699657116U, // <0,5,3,3>: Cost 4 vext2 <1,4,0,5>, <3,3,3,3>
+    4095233618U, // <0,5,3,2>: Cost 4 vtrnl <0,2,3,5>, <5,0,2,3>
+    3699657106U, // <0,5,3,3>: Cost 4 vext2 <1,4,0,5>, <3,3,2,2>
     2637859284U, // <0,5,3,4>: Cost 3 vext2 <3,4,0,5>, <3,4,0,5>
-    3790319453U, // <0,5,3,5>: Cost 4 vext3 <5,3,5,0>, <5,3,5,0>
-    3699657354U, // <0,5,3,6>: Cost 4 vext2 <1,4,0,5>, <3,6,2,7>
-    2716725103U, // <0,5,3,7>: Cost 3 vext3 <5,3,7,0>, <5,3,7,0>
-    2716798840U, // <0,5,3,u>: Cost 3 vext3 <5,3,u,0>, <5,3,u,0>
-    2661747602U, // <0,5,4,0>: Cost 3 vext2 <7,4,0,5>, <4,0,5,1>
-    3630252810U, // <0,5,4,1>: Cost 4 vext1 <1,0,5,4>, <1,0,5,4>
-    3636225507U, // <0,5,4,2>: Cost 4 vext1 <2,0,5,4>, <2,0,5,4>
-    3716910172U, // <0,5,4,3>: Cost 4 vext2 <4,3,0,5>, <4,3,0,5>
-    3962195892U, // <0,5,4,4>: Cost 4 vzipl <0,4,1,5>, <5,4,5,6>
-    2625916214U, // <0,5,4,5>: Cost 3 vext2 <1,4,0,5>, RHS
-    3718901071U, // <0,5,4,6>: Cost 4 vext2 <4,6,0,5>, <4,6,0,5>
-    2718715846U, // <0,5,4,7>: Cost 3 vext3 <5,6,7,0>, <5,4,7,6>
-    2625916457U, // <0,5,4,u>: Cost 3 vext2 <1,4,0,5>, RHS
-    3791278034U, // <0,5,5,0>: Cost 4 vext3 <5,5,0,0>, <5,5,0,0>
-    3791351771U, // <0,5,5,1>: Cost 4 vext3 <5,5,1,0>, <5,5,1,0>
-    3318386260U, // <0,5,5,2>: Cost 4 vrev <5,0,2,5>
-    3791499245U, // <0,5,5,3>: Cost 4 vext3 <5,5,3,0>, <5,5,3,0>
-    3318533734U, // <0,5,5,4>: Cost 4 vrev <5,0,4,5>
+    3904521934U, // <0,5,3,5>: Cost 4 vuzpr <2,0,3,5>, <2,3,4,5>
+    4035185154U, // <0,5,3,6>: Cost 4 vzipr <1,4,0,3>, <3,4,5,6>
+    3099053366U, // <0,5,3,7>: Cost 3 vtrnr <2,0,1,3>, RHS
+    3099053367U, // <0,5,3,u>: Cost 3 vtrnr <2,0,1,3>, RHS
+    2888453704U, // <0,5,4,0>: Cost 3 vzipl <0,4,1,5>, <5,0,1,2>
+    3021574272U, // <0,5,4,1>: Cost 3 vtrnl <0,2,4,6>, <5,7,1,3>
+    3021574284U, // <0,5,4,2>: Cost 3 vtrnl <0,2,4,6>, <5,7,2,6>
+    3962195761U, // <0,5,4,3>: Cost 4 vzipl <0,4,1,5>, <5,3,0,1>
+    2888454068U, // <0,5,4,4>: Cost 3 vzipl <0,4,1,5>, <5,4,5,6>
+    2888454148U, // <0,5,4,5>: Cost 3 vzipl <0,4,1,5>, <5,5,5,5>
+    2751892790U, // <0,5,4,6>: Cost 3 vuzpl <0,0,5,7>, RHS
+    3099135286U, // <0,5,4,7>: Cost 3 vtrnr <2,0,2,4>, RHS
+    2888454352U, // <0,5,4,u>: Cost 3 vzipl <0,4,1,5>, <5,u,1,2>
+    3962826312U, // <0,5,5,0>: Cost 4 vzipl <0,5,1,1>, <5,0,1,2>
+    2997291922U, // <0,5,5,1>: Cost 3 vzipr <7,4,0,5>, <4,0,5,1>
+    4070369466U, // <0,5,5,2>: Cost 4 vzipr <7,3,0,5>, <3,0,5,2>
+    4035199186U, // <0,5,5,3>: Cost 4 vzipr <1,4,0,5>, <0,2,5,3>
+    2889109446U, // <0,5,5,4>: Cost 3 vzipl <0,5,1,4>, <5,4,7,6>
     2718715908U, // <0,5,5,5>: Cost 3 vext3 <5,6,7,0>, <5,5,5,5>
     2657767522U, // <0,5,5,6>: Cost 3 vext2 <6,7,0,5>, <5,6,7,0>
-    2718715928U, // <0,5,5,7>: Cost 3 vext3 <5,6,7,0>, <5,5,7,7>
-    2718715937U, // <0,5,5,u>: Cost 3 vext3 <5,6,7,0>, <5,5,u,7>
-    2592358502U, // <0,5,6,0>: Cost 3 vext1 <7,0,5,6>, LHS
-    3792015404U, // <0,5,6,1>: Cost 4 vext3 <5,6,1,0>, <5,6,1,0>
-    3731509754U, // <0,5,6,2>: Cost 4 vext2 <6,7,0,5>, <6,2,7,3>
+    2836827446U, // <0,5,5,7>: Cost 3 vuzpr <3,0,4,5>, RHS
+    2836827447U, // <0,5,5,u>: Cost 3 vuzpr <3,0,4,5>, RHS
+    2860716130U, // <0,5,6,0>: Cost 3 vuzpr <7,0,4,5>, <5,6,7,0>
+    4055780242U, // <0,5,6,1>: Cost 4 vzipr <4,u,0,6>, <4,0,5,1>
+    3928337740U, // <0,5,6,2>: Cost 4 vuzpr <6,0,2,5>, <4,6,0,2>
     3785748546U, // <0,5,6,3>: Cost 4 vext3 <4,5,6,0>, <5,6,3,4>
     2592361782U, // <0,5,6,4>: Cost 3 vext1 <7,0,5,6>, RHS
     2592362594U, // <0,5,6,5>: Cost 3 vext1 <7,0,5,6>, <5,6,7,0>
-    3785748576U, // <0,5,6,6>: Cost 4 vext3 <4,5,6,0>, <5,6,6,7>
+    4029237033U, // <0,5,6,6>: Cost 4 vzipr <0,4,0,6>, <2,4,5,6>
     1644974178U, // <0,5,6,7>: Cost 2 vext3 <5,6,7,0>, <5,6,7,0>
     1645047915U, // <0,5,6,u>: Cost 2 vext3 <5,6,u,0>, <5,6,u,0>
     2562506854U, // <0,5,7,0>: Cost 3 vext1 <2,0,5,7>, LHS
@@ -498,492 +496,492 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2562510134U, // <0,5,7,4>: Cost 3 vext1 <2,0,5,7>, RHS
     2718716072U, // <0,5,7,5>: Cost 3 vext3 <5,6,7,0>, <5,7,5,7>
     2718716074U, // <0,5,7,6>: Cost 3 vext3 <5,6,7,0>, <5,7,6,0>
-    2719379635U, // <0,5,7,7>: Cost 3 vext3 <5,7,7,0>, <5,7,7,0>
+    3099381046U, // <0,5,7,7>: Cost 3 vtrnr <2,0,5,7>, RHS
     2562512686U, // <0,5,7,u>: Cost 3 vext1 <2,0,5,7>, LHS
     1500717158U, // <0,5,u,0>: Cost 2 vext1 <4,0,5,u>, LHS
-    2625918766U, // <0,5,u,1>: Cost 3 vext2 <1,4,0,5>, LHS
-    2719674583U, // <0,5,u,2>: Cost 3 vext3 <5,u,2,0>, <5,u,2,0>
-    2568489152U, // <0,5,u,3>: Cost 3 vext1 <3,0,5,u>, <3,0,5,u>
-    1500720025U, // <0,5,u,4>: Cost 2 vext1 <4,0,5,u>, <4,0,5,u>
-    2625919130U, // <0,5,u,5>: Cost 3 vext2 <1,4,0,5>, RHS
-    2586407243U, // <0,5,u,6>: Cost 3 vext1 <6,0,5,u>, <6,0,5,u>
-    1646301444U, // <0,5,u,7>: Cost 2 vext3 <5,u,7,0>, <5,u,7,0>
-    1646375181U, // <0,5,u,u>: Cost 2 vext3 <5,u,u,0>, <5,u,u,0>
+    1947439232U, // <0,5,u,1>: Cost 2 vtrnl LHS, <5,7,1,3>
+    2562516455U, // <0,5,u,2>: Cost 3 vext1 <2,0,5,u>, <2,0,5,u>
+    2836824733U, // <0,5,u,3>: Cost 3 vuzpr <3,0,4,5>, LHS
+    1817423814U, // <0,5,u,4>: Cost 2 vzipl LHS, <5,4,7,6>
+    1947439108U, // <0,5,u,5>: Cost 2 vtrnl LHS, <5,5,5,5>
+    1817423970U, // <0,5,u,6>: Cost 2 vzipl LHS, <5,6,7,0>
+    2019527990U, // <0,5,u,7>: Cost 2 vtrnr <1,0,3,u>, RHS
+    2019527991U, // <0,5,u,u>: Cost 2 vtrnr <1,0,3,u>, RHS
     2586411110U, // <0,6,0,0>: Cost 3 vext1 <6,0,6,0>, LHS
     2619949158U, // <0,6,0,1>: Cost 3 vext2 <0,4,0,6>, LHS
     2619949220U, // <0,6,0,2>: Cost 3 vext2 <0,4,0,6>, <0,2,0,2>
     3785748789U, // <0,6,0,3>: Cost 4 vext3 <4,5,6,0>, <6,0,3,4>
     2619949386U, // <0,6,0,4>: Cost 3 vext2 <0,4,0,6>, <0,4,0,6>
     2586415202U, // <0,6,0,5>: Cost 3 vext1 <6,0,6,0>, <5,6,7,0>
-    2586415436U, // <0,6,0,6>: Cost 3 vext1 <6,0,6,0>, <6,0,6,0>
-    2952793398U, // <0,6,0,7>: Cost 3 vzipr <0,0,0,0>, RHS
-    2619949725U, // <0,6,0,u>: Cost 3 vext2 <0,4,0,6>, LHS
-    2562531430U, // <0,6,1,0>: Cost 3 vext1 <2,0,6,1>, LHS
-    3693691700U, // <0,6,1,1>: Cost 4 vext2 <0,4,0,6>, <1,1,1,1>
-    2886521338U, // <0,6,1,2>: Cost 3 vzipl LHS, <6,2,7,3>
-    3693691864U, // <0,6,1,3>: Cost 4 vext2 <0,4,0,6>, <1,3,1,3>
-    2562534710U, // <0,6,1,4>: Cost 3 vext1 <2,0,6,1>, RHS
-    2580450932U, // <0,6,1,5>: Cost 3 vext1 <5,0,6,1>, <5,0,6,1>
-    2886521656U, // <0,6,1,6>: Cost 3 vzipl LHS, <6,6,6,6>
-    2966736182U, // <0,6,1,7>: Cost 3 vzipr <2,3,0,1>, RHS
-    2966736183U, // <0,6,1,u>: Cost 3 vzipr <2,3,0,1>, RHS
-    1500741734U, // <0,6,2,0>: Cost 2 vext1 <4,0,6,2>, LHS
-    2250518817U, // <0,6,2,1>: Cost 3 vrev <6,0,1,2>
-    2574485096U, // <0,6,2,2>: Cost 3 vext1 <4,0,6,2>, <2,2,2,2>
+    2250871116U, // <0,6,0,6>: Cost 3 vrev <6,0,6,0>
+    1879051574U, // <0,6,0,7>: Cost 2 vzipr <0,0,0,0>, RHS
+    1879051575U, // <0,6,0,u>: Cost 2 vzipr <0,0,0,0>, RHS
+    2993278336U, // <0,6,1,0>: Cost 3 vzipr <6,7,0,1>, <4,6,6,0>
+    2886521194U, // <0,6,1,1>: Cost 3 vzipl LHS, <6,1,0,3>
+    1812779514U, // <0,6,1,2>: Cost 2 vzipl LHS, <6,2,7,3>
+    2860499046U, // <0,6,1,3>: Cost 3 vuzpr <7,0,1,6>, LHS
+    3019985782U, // <0,6,1,4>: Cost 3 vtrnl <0,0,1,1>, <6,7,4,5>
+    2886521522U, // <0,6,1,5>: Cost 3 vzipl LHS, <6,5,0,7>
+    1812779832U, // <0,6,1,6>: Cost 2 vzipl LHS, <6,6,6,6>
+    1892994358U, // <0,6,1,7>: Cost 2 vzipr <2,3,0,1>, RHS
+    1892994359U, // <0,6,1,u>: Cost 2 vzipr <2,3,0,1>, RHS
+    1946997582U, // <0,6,2,0>: Cost 2 vtrnl LHS, <6,7,0,1>
+    3025383713U, // <0,6,2,1>: Cost 3 vtrnl LHS, <6,0,1,2>
+    3025383724U, // <0,6,2,2>: Cost 3 vtrnl LHS, <6,0,2,4>
     2631894694U, // <0,6,2,3>: Cost 3 vext2 <2,4,0,6>, <2,3,0,1>
-    1500744604U, // <0,6,2,4>: Cost 2 vext1 <4,0,6,2>, <4,0,6,2>
-    2574487248U, // <0,6,2,5>: Cost 3 vext1 <4,0,6,2>, <5,1,7,3>
-    3020739384U, // <0,6,2,6>: Cost 3 vtrnl LHS, <6,6,6,6>
-    2954136886U, // <0,6,2,7>: Cost 3 vzipr <0,2,0,2>, RHS
-    1500747566U, // <0,6,2,u>: Cost 2 vext1 <4,0,6,2>, LHS
-    3693693078U, // <0,6,3,0>: Cost 4 vext2 <0,4,0,6>, <3,0,1,2>
-    3705637136U, // <0,6,3,1>: Cost 4 vext2 <2,4,0,6>, <3,1,5,7>
+    1946997622U, // <0,6,2,4>: Cost 2 vtrnl LHS, <6,7,4,5>
+    3025384077U, // <0,6,2,5>: Cost 3 vtrnl LHS, <6,4,5,6>
+    1946997560U, // <0,6,2,6>: Cost 2 vtrnl LHS, <6,6,6,6>
+    1880395062U, // <0,6,2,7>: Cost 2 vzipr <0,2,0,2>, RHS
+    1880395063U, // <0,6,2,u>: Cost 2 vzipr <0,2,0,2>, RHS
+    3122942050U, // <0,6,3,0>: Cost 3 vtrnr <6,0,1,3>, <5,6,7,0>
+    2250527010U, // <0,6,3,1>: Cost 3 vrev <6,0,1,3>
     3705637192U, // <0,6,3,2>: Cost 4 vext2 <2,4,0,6>, <3,2,3,0>
     3693693340U, // <0,6,3,3>: Cost 4 vext2 <0,4,0,6>, <3,3,3,3>
     2637867477U, // <0,6,3,4>: Cost 3 vext2 <3,4,0,6>, <3,4,0,6>
     3705637424U, // <0,6,3,5>: Cost 4 vext2 <2,4,0,6>, <3,5,1,7>
-    3666154056U, // <0,6,3,6>: Cost 4 vext1 <7,0,6,3>, <6,3,7,0>
-    2722697800U, // <0,6,3,7>: Cost 3 vext3 <6,3,7,0>, <6,3,7,0>
-    2722771537U, // <0,6,3,u>: Cost 3 vext3 <6,3,u,0>, <6,3,u,0>
-    2562556006U, // <0,6,4,0>: Cost 3 vext1 <2,0,6,4>, LHS
-    4095316257U, // <0,6,4,1>: Cost 4 vtrnl <0,2,4,6>, <6,0,1,2>
-    2562557420U, // <0,6,4,2>: Cost 3 vext1 <2,0,6,4>, <2,0,6,4>
-    3636299926U, // <0,6,4,3>: Cost 4 vext1 <2,0,6,4>, <3,0,1,2>
+    4196683124U, // <0,6,3,6>: Cost 4 vtrnr <6,0,1,3>, <4,6,4,6>
+    2965425462U, // <0,6,3,7>: Cost 3 vzipr <2,1,0,3>, RHS
+    2965425463U, // <0,6,3,u>: Cost 3 vzipr <2,1,0,3>, RHS
+    2888536380U, // <0,6,4,0>: Cost 3 vzipl <0,4,2,6>, <6,0,4,2>
+    3021574433U, // <0,6,4,1>: Cost 3 vtrnl <0,2,4,6>, <6,0,1,2>
+    3021574444U, // <0,6,4,2>: Cost 3 vtrnl <0,2,4,6>, <6,0,2,4>
+    4095316355U, // <0,6,4,3>: Cost 4 vtrnl <0,2,4,6>, <6,1,3,1>
     2562559286U, // <0,6,4,4>: Cost 3 vext1 <2,0,6,4>, RHS
-    2619952438U, // <0,6,4,5>: Cost 3 vext2 <0,4,0,6>, RHS
-    2723287696U, // <0,6,4,6>: Cost 3 vext3 <6,4,6,0>, <6,4,6,0>
-    4027895094U, // <0,6,4,7>: Cost 4 vzipr <0,2,0,4>, RHS
-    2619952681U, // <0,6,4,u>: Cost 3 vext2 <0,4,0,6>, RHS
+    3021574797U, // <0,6,4,5>: Cost 3 vtrnl <0,2,4,6>, <6,4,5,6>
+    3021574968U, // <0,6,4,6>: Cost 3 vtrnl <0,2,4,6>, <6,6,6,6>
+    2954153270U, // <0,6,4,7>: Cost 3 vzipr <0,2,0,4>, RHS
+    2954153271U, // <0,6,4,u>: Cost 3 vzipr <0,2,0,4>, RHS
     2718716594U, // <0,6,5,0>: Cost 3 vext3 <5,6,7,0>, <6,5,0,7>
     3648250774U, // <0,6,5,1>: Cost 4 vext1 <4,0,6,5>, <1,2,3,0>
-    3792458436U, // <0,6,5,2>: Cost 4 vext3 <5,6,7,0>, <6,5,2,7>
-    3705638767U, // <0,6,5,3>: Cost 5 vext2 <2,4,0,6>, <5,3,7,0>
+    3786265284U, // <0,6,5,2>: Cost 4 vext3 <4,6,4,0>, <6,5,2,7>
+    3324432694U, // <0,6,5,3>: Cost 4 vrev <6,0,3,5>
     3648252831U, // <0,6,5,4>: Cost 4 vext1 <4,0,6,5>, <4,0,6,5>
-    3797619416U, // <0,6,5,5>: Cost 4 vext3 <6,5,5,0>, <6,5,5,0>
-    3792458472U, // <0,6,5,6>: Cost 4 vext3 <5,6,7,0>, <6,5,6,7>
-    4035202358U, // <0,6,5,7>: Cost 4 vzipr <1,4,0,5>, RHS
-    2718716594U, // <0,6,5,u>: Cost 3 vext3 <5,6,7,0>, <6,5,0,7>
-    3786412796U, // <0,6,6,0>: Cost 4 vext3 <4,6,6,0>, <6,6,0,0>
-    3792458504U, // <0,6,6,1>: Cost 4 vext3 <5,6,7,0>, <6,6,1,3>
-    3728200126U, // <0,6,6,2>: Cost 4 vext2 <6,2,0,6>, <6,2,0,6>
-    3798135575U, // <0,6,6,3>: Cost 4 vext3 <6,6,3,0>, <6,6,3,0>
-    3786412836U, // <0,6,6,4>: Cost 4 vext3 <4,6,6,0>, <6,6,4,4>
-    3792458543U, // <0,6,6,5>: Cost 4 vext3 <5,6,7,0>, <6,6,5,6>
+    3720237060U, // <0,6,5,5>: Cost 4 vext2 <4,u,0,6>, <5,5,5,5>
+    3720237154U, // <0,6,5,6>: Cost 4 vext2 <4,u,0,6>, <5,6,7,0>
+    2961460534U, // <0,6,5,7>: Cost 3 vzipr <1,4,0,5>, RHS
+    2961460535U, // <0,6,5,u>: Cost 3 vzipr <1,4,0,5>, RHS
+    2724172540U, // <0,6,6,0>: Cost 3 vext3 <6,6,0,0>, <6,6,0,0>
+    3828314401U, // <0,6,6,1>: Cost 4 vuzpl <0,4,6,1>, <6,0,1,2>
+    2997300124U, // <0,6,6,2>: Cost 3 vzipr <7,4,0,6>, <4,0,6,2>
+    4029235419U, // <0,6,6,3>: Cost 4 vzipr <0,4,0,6>, <0,2,6,3>
+    2753270646U, // <0,6,6,4>: Cost 3 vuzpl <0,2,6,4>, <6,7,4,5>
+    3828347533U, // <0,6,6,5>: Cost 4 vuzpl <0,4,6,5>, <6,4,5,6>
     2718716728U, // <0,6,6,6>: Cost 3 vext3 <5,6,7,0>, <6,6,6,6>
-    2718716738U, // <0,6,6,7>: Cost 3 vext3 <5,6,7,0>, <6,6,7,7>
-    2718716747U, // <0,6,6,u>: Cost 3 vext3 <5,6,7,0>, <6,6,u,7>
-    2718716750U, // <0,6,7,0>: Cost 3 vext3 <5,6,7,0>, <6,7,0,1>
+    2955496758U, // <0,6,6,7>: Cost 3 vzipr <0,4,0,6>, RHS
+    2955496759U, // <0,6,6,u>: Cost 3 vzipr <0,4,0,6>, RHS
+    2712671054U, // <0,6,7,0>: Cost 3 vext3 <4,6,6,0>, <6,7,0,1>
     2724909910U, // <0,6,7,1>: Cost 3 vext3 <6,7,1,0>, <6,7,1,0>
     3636323823U, // <0,6,7,2>: Cost 4 vext1 <2,0,6,7>, <2,0,6,7>
     2725057384U, // <0,6,7,3>: Cost 3 vext3 <6,7,3,0>, <6,7,3,0>
     2718716790U, // <0,6,7,4>: Cost 3 vext3 <5,6,7,0>, <6,7,4,5>
     2718716800U, // <0,6,7,5>: Cost 3 vext3 <5,6,7,0>, <6,7,5,6>
     3792458629U, // <0,6,7,6>: Cost 4 vext3 <5,6,7,0>, <6,7,6,2>
-    2725352332U, // <0,6,7,7>: Cost 3 vext3 <6,7,7,0>, <6,7,7,0>
-    2718716822U, // <0,6,7,u>: Cost 3 vext3 <5,6,7,0>, <6,7,u,1>
-    1500790886U, // <0,6,u,0>: Cost 2 vext1 <4,0,6,u>, LHS
+    2968112438U, // <0,6,7,7>: Cost 3 vzipr <2,5,0,7>, RHS
+    2968112439U, // <0,6,7,u>: Cost 3 vzipr <2,5,0,7>, RHS
+    1947439950U, // <0,6,u,0>: Cost 2 vtrnl LHS, <6,7,0,1>
     2619954990U, // <0,6,u,1>: Cost 3 vext2 <0,4,0,6>, LHS
-    2562590192U, // <0,6,u,2>: Cost 3 vext1 <2,0,6,u>, <2,0,6,u>
+    1817424378U, // <0,6,u,2>: Cost 2 vzipl LHS, <6,2,7,3>
     2725721017U, // <0,6,u,3>: Cost 3 vext3 <6,u,3,0>, <6,u,3,0>
-    1500793762U, // <0,6,u,4>: Cost 2 vext1 <4,0,6,u>, <4,0,6,u>
+    1947439990U, // <0,6,u,4>: Cost 2 vtrnl LHS, <6,7,4,5>
     2619955354U, // <0,6,u,5>: Cost 3 vext2 <0,4,0,6>, RHS
-    2725942228U, // <0,6,u,6>: Cost 3 vext3 <6,u,6,0>, <6,u,6,0>
-    2954186038U, // <0,6,u,7>: Cost 3 vzipr <0,2,0,u>, RHS
-    1500796718U, // <0,6,u,u>: Cost 2 vext1 <4,0,6,u>, LHS
-    2256401391U, // <0,7,0,0>: Cost 3 vrev <7,0,0,0>
+    1947439928U, // <0,6,u,6>: Cost 2 vtrnl LHS, <6,6,6,6>
+    1880444214U, // <0,6,u,7>: Cost 2 vzipr <0,2,0,u>, RHS
+    1880444215U, // <0,6,u,u>: Cost 2 vzipr <0,2,0,u>, RHS
+    2580512768U, // <0,7,0,0>: Cost 3 vext1 <5,0,7,0>, <0,0,0,0>
     2632564838U, // <0,7,0,1>: Cost 3 vext2 <2,5,0,7>, LHS
     2256548865U, // <0,7,0,2>: Cost 3 vrev <7,0,2,0>
-    3700998396U, // <0,7,0,3>: Cost 4 vext2 <1,6,0,7>, <0,3,1,0>
-    2718716952U, // <0,7,0,4>: Cost 3 vext3 <5,6,7,0>, <7,0,4,5>
-    2718716962U, // <0,7,0,5>: Cost 3 vext3 <5,6,7,0>, <7,0,5,6>
-    2621284845U, // <0,7,0,6>: Cost 3 vext2 <0,6,0,7>, <0,6,0,7>
-    3904685542U, // <0,7,0,7>: Cost 4 vuzpr <2,0,5,7>, <2,0,5,7>
+    2952793808U, // <0,7,0,3>: Cost 3 vzipr <0,0,0,0>, <5,1,7,3>
+    2580516150U, // <0,7,0,4>: Cost 3 vext1 <5,0,7,0>, RHS
+    2580516476U, // <0,7,0,5>: Cost 3 vext1 <5,0,7,0>, <5,0,7,0>
+    2586489173U, // <0,7,0,6>: Cost 3 vext1 <6,0,7,0>, <6,0,7,0>
+    2830943718U, // <0,7,0,7>: Cost 3 vuzpr <2,0,5,7>, <2,0,5,7>
     2632565405U, // <0,7,0,u>: Cost 3 vext2 <2,5,0,7>, LHS
-    2256409584U, // <0,7,1,0>: Cost 3 vrev <7,0,0,1>
-    3706307380U, // <0,7,1,1>: Cost 4 vext2 <2,5,0,7>, <1,1,1,1>
+    1812780026U, // <0,7,1,0>: Cost 2 vzipl LHS, <7,0,1,2>
+    2993279156U, // <0,7,1,1>: Cost 3 vzipr <6,7,0,1>, <5,7,7,1>
     2632565654U, // <0,7,1,2>: Cost 3 vext2 <2,5,0,7>, <1,2,3,0>
-    3769603168U, // <0,7,1,3>: Cost 4 vext3 <1,u,3,0>, <7,1,3,5>
-    2256704532U, // <0,7,1,4>: Cost 3 vrev <7,0,4,1>
-    3769603184U, // <0,7,1,5>: Cost 4 vext3 <1,u,3,0>, <7,1,5,3>
-    3700999366U, // <0,7,1,6>: Cost 4 vext2 <1,6,0,7>, <1,6,0,7>
-    2886522476U, // <0,7,1,7>: Cost 3 vzipl LHS, <7,7,7,7>
-    2256999480U, // <0,7,1,u>: Cost 3 vrev <7,0,u,1>
-    2586501222U, // <0,7,2,0>: Cost 3 vext1 <6,0,7,2>, LHS
+    2830942310U, // <0,7,1,3>: Cost 3 vuzpr <2,0,5,7>, LHS
+    1812780390U, // <0,7,1,4>: Cost 2 vzipl LHS, <7,4,5,6>
+    2580524669U, // <0,7,1,5>: Cost 3 vext1 <5,0,7,1>, <5,0,7,1>
+    2586497366U, // <0,7,1,6>: Cost 3 vext1 <6,0,7,1>, <6,0,7,1>
+    1812780652U, // <0,7,1,7>: Cost 2 vzipl LHS, <7,7,7,7>
+    1812780674U, // <0,7,1,u>: Cost 2 vzipl LHS, <7,u,1,2>
+    2830943126U, // <0,7,2,0>: Cost 3 vuzpr <2,0,5,7>, <1,2,3,0>
     1182749690U, // <0,7,2,1>: Cost 2 vrev <7,0,1,2>
-    3636356595U, // <0,7,2,2>: Cost 4 vext1 <2,0,7,2>, <2,0,7,2>
-    2727711916U, // <0,7,2,3>: Cost 3 vext3 <7,2,3,0>, <7,2,3,0>
-    2586504502U, // <0,7,2,4>: Cost 3 vext1 <6,0,7,2>, RHS
-    2632566606U, // <0,7,2,5>: Cost 3 vext2 <2,5,0,7>, <2,5,0,7>
-    2586505559U, // <0,7,2,6>: Cost 3 vext1 <6,0,7,2>, <6,0,7,2>
-    3020740204U, // <0,7,2,7>: Cost 3 vtrnl LHS, <7,7,7,7>
+    3087175798U, // <0,7,2,2>: Cost 3 vtrnr <0,0,2,2>, <5,7,0,2>
+    2980679376U, // <0,7,2,3>: Cost 3 vzipr <4,6,0,2>, <5,1,7,3>
+    2980679782U, // <0,7,2,4>: Cost 3 vzipr <4,6,0,2>, <5,6,7,4>
+    1946998118U, // <0,7,2,5>: Cost 2 vtrnl LHS, <7,4,5,6>
+    2980679622U, // <0,7,2,6>: Cost 3 vzipr <4,6,0,2>, <5,4,7,6>
+    1946998380U, // <0,7,2,7>: Cost 2 vtrnl LHS, <7,7,7,7>
     1183265849U, // <0,7,2,u>: Cost 2 vrev <7,0,u,2>
-    3701000342U, // <0,7,3,0>: Cost 4 vext2 <1,6,0,7>, <3,0,1,2>
-    3706308849U, // <0,7,3,1>: Cost 4 vext2 <2,5,0,7>, <3,1,2,3>
-    3330315268U, // <0,7,3,2>: Cost 4 vrev <7,0,2,3>
-    3706309020U, // <0,7,3,3>: Cost 4 vext2 <2,5,0,7>, <3,3,3,3>
+    2989314146U, // <0,7,3,0>: Cost 3 vzipr <6,1,0,3>, <5,6,7,0>
+    3904685734U, // <0,7,3,1>: Cost 4 vuzpr <2,0,5,7>, <2,3,0,1>
+    3904685744U, // <0,7,3,2>: Cost 4 vuzpr <2,0,5,7>, <2,3,1,2>
+    3904685016U, // <0,7,3,3>: Cost 4 vuzpr <2,0,5,7>, <1,3,1,3>
     3706309122U, // <0,7,3,4>: Cost 4 vext2 <2,5,0,7>, <3,4,5,6>
-    3712281127U, // <0,7,3,5>: Cost 4 vext2 <3,5,0,7>, <3,5,0,7>
+    3904685774U, // <0,7,3,5>: Cost 4 vuzpr <2,0,5,7>, <2,3,4,5>
     2639202936U, // <0,7,3,6>: Cost 3 vext2 <3,6,0,7>, <3,6,0,7>
-    3802412321U, // <0,7,3,7>: Cost 4 vext3 <7,3,7,0>, <7,3,7,0>
+    3904537600U, // <0,7,3,7>: Cost 4 vuzpr <2,0,3,7>, <1,3,5,7>
     2640530202U, // <0,7,3,u>: Cost 3 vext2 <3,u,0,7>, <3,u,0,7>
-    3654287462U, // <0,7,4,0>: Cost 4 vext1 <5,0,7,4>, LHS
+    2888455162U, // <0,7,4,0>: Cost 3 vzipl <0,4,1,5>, <7,0,1,2>
     2256507900U, // <0,7,4,1>: Cost 3 vrev <7,0,1,4>
     2256581637U, // <0,7,4,2>: Cost 3 vrev <7,0,2,4>
-    3660262008U, // <0,7,4,3>: Cost 4 vext1 <6,0,7,4>, <3,6,0,7>
-    3786413405U, // <0,7,4,4>: Cost 4 vext3 <4,6,6,0>, <7,4,4,6>
+    4054437584U, // <0,7,4,3>: Cost 4 vzipr <4,6,0,4>, <5,1,7,3>
+    2888455526U, // <0,7,4,4>: Cost 3 vzipl <0,4,1,5>, <7,4,5,6>
     2632568118U, // <0,7,4,5>: Cost 3 vext2 <2,5,0,7>, RHS
-    3718917457U, // <0,7,4,6>: Cost 4 vext2 <4,6,0,7>, <4,6,0,7>
-    3787003255U, // <0,7,4,7>: Cost 4 vext3 <4,7,5,0>, <7,4,7,5>
+    2729260393U, // <0,7,4,6>: Cost 3 vext3 <7,4,6,0>, <7,4,6,0>
+    3021575788U, // <0,7,4,7>: Cost 3 vtrnl <0,2,4,6>, <7,7,7,7>
     2632568361U, // <0,7,4,u>: Cost 3 vext2 <2,5,0,7>, RHS
-    3706310268U, // <0,7,5,0>: Cost 4 vext2 <2,5,0,7>, <5,0,7,0>
-    3792459156U, // <0,7,5,1>: Cost 4 vext3 <5,6,7,0>, <7,5,1,7>
-    3330331654U, // <0,7,5,2>: Cost 4 vrev <7,0,2,5>
-    3722899255U, // <0,7,5,3>: Cost 4 vext2 <5,3,0,7>, <5,3,0,7>
+    2993311842U, // <0,7,5,0>: Cost 3 vzipr <6,7,0,5>, <5,6,7,0>
+    3904684501U, // <0,7,5,1>: Cost 4 vuzpr <2,0,5,7>, <0,5,7,1>
+    3904684502U, // <0,7,5,2>: Cost 4 vuzpr <2,0,5,7>, <0,5,7,2>
+    3654297780U, // <0,7,5,3>: Cost 4 vext1 <5,0,7,5>, <3,0,4,5>
     2256737304U, // <0,7,5,4>: Cost 3 vrev <7,0,4,5>
-    3724226521U, // <0,7,5,5>: Cost 4 vext2 <5,5,0,7>, <5,5,0,7>
+    3654299265U, // <0,7,5,5>: Cost 4 vext1 <5,0,7,5>, <5,0,7,5>
     2718717377U, // <0,7,5,6>: Cost 3 vext3 <5,6,7,0>, <7,5,6,7>
-    2729997763U, // <0,7,5,7>: Cost 3 vext3 <7,5,7,0>, <7,5,7,0>
-    2720044499U, // <0,7,5,u>: Cost 3 vext3 <5,u,7,0>, <7,5,u,7>
-    3712946517U, // <0,7,6,0>: Cost 4 vext2 <3,6,0,7>, <6,0,7,0>
+    2830945590U, // <0,7,5,7>: Cost 3 vuzpr <2,0,5,7>, RHS
+    2830945591U, // <0,7,5,u>: Cost 3 vuzpr <2,0,5,7>, RHS
+    2854834274U, // <0,7,6,0>: Cost 3 vuzpr <6,0,5,7>, <5,6,7,0>
     2256524286U, // <0,7,6,1>: Cost 3 vrev <7,0,1,6>
     3792459246U, // <0,7,6,2>: Cost 4 vext3 <5,6,7,0>, <7,6,2,7>
-    3796440567U, // <0,7,6,3>: Cost 4 vext3 <6,3,7,0>, <7,6,3,7>
-    3654307126U, // <0,7,6,4>: Cost 4 vext1 <5,0,7,6>, RHS
+    4055781072U, // <0,7,6,3>: Cost 4 vzipr <4,u,0,6>, <5,1,7,3>
+    3963614566U, // <0,7,6,4>: Cost 4 vzipl <0,6,2,7>, <7,4,5,6>
     2656457394U, // <0,7,6,5>: Cost 3 vext2 <6,5,0,7>, <6,5,0,7>
-    3792459281U, // <0,7,6,6>: Cost 4 vext3 <5,6,7,0>, <7,6,6,6>
+    4055781318U, // <0,7,6,6>: Cost 4 vzipr <4,u,0,6>, <5,4,7,6>
     2730661396U, // <0,7,6,7>: Cost 3 vext3 <7,6,7,0>, <7,6,7,0>
     2658448293U, // <0,7,6,u>: Cost 3 vext2 <6,u,0,7>, <6,u,0,7>
-    3787003431U, // <0,7,7,0>: Cost 4 vext3 <4,7,5,0>, <7,7,0,1>
-    3654312854U, // <0,7,7,1>: Cost 4 vext1 <5,0,7,7>, <1,2,3,0>
+    2992001122U, // <0,7,7,0>: Cost 3 vzipr <6,5,0,7>, <5,6,7,0>
+    2753319930U, // <0,7,7,1>: Cost 3 vuzpl <0,2,7,1>, <7,0,1,2>
     3654313446U, // <0,7,7,2>: Cost 4 vext1 <5,0,7,7>, <2,0,5,7>
-    3804771905U, // <0,7,7,3>: Cost 4 vext3 <7,7,3,0>, <7,7,3,0>
-    3654315318U, // <0,7,7,4>: Cost 4 vext1 <5,0,7,7>, RHS
-    3654315651U, // <0,7,7,5>: Cost 4 vext1 <5,0,7,7>, <5,0,7,7>
-    3660288348U, // <0,7,7,6>: Cost 4 vext1 <6,0,7,7>, <6,0,7,7>
+    3904684611U, // <0,7,7,3>: Cost 4 vuzpr <2,0,5,7>, <0,7,1,3>
+    2890437990U, // <0,7,7,4>: Cost 3 vzipl <0,7,1,4>, <7,4,5,6>
+    2753353062U, // <0,7,7,5>: Cost 3 vuzpl <0,2,7,5>, <7,4,5,6>
+    2663093724U, // <0,7,7,6>: Cost 3 vext2 <7,6,0,7>, <7,6,0,7>
     2718717548U, // <0,7,7,7>: Cost 3 vext3 <5,6,7,0>, <7,7,7,7>
     2664420990U, // <0,7,7,u>: Cost 3 vext2 <7,u,0,7>, <7,u,0,7>
-    2256466935U, // <0,7,u,0>: Cost 3 vrev <7,0,0,u>
+    1817424890U, // <0,7,u,0>: Cost 2 vzipl LHS, <7,0,1,2>
     1182798848U, // <0,7,u,1>: Cost 2 vrev <7,0,1,u>
     2256614409U, // <0,7,u,2>: Cost 3 vrev <7,0,2,u>
-    2731693714U, // <0,7,u,3>: Cost 3 vext3 <7,u,3,0>, <7,u,3,0>
-    2256761883U, // <0,7,u,4>: Cost 3 vrev <7,0,4,u>
-    2632571034U, // <0,7,u,5>: Cost 3 vext2 <2,5,0,7>, RHS
-    2669066421U, // <0,7,u,6>: Cost 3 vext2 <u,6,0,7>, <u,6,0,7>
-    2731988662U, // <0,7,u,7>: Cost 3 vext3 <7,u,7,0>, <7,u,7,0>
+    2830942877U, // <0,7,u,3>: Cost 3 vuzpr <2,0,5,7>, LHS
+    1817425254U, // <0,7,u,4>: Cost 2 vzipl LHS, <7,4,5,6>
+    1947440486U, // <0,7,u,5>: Cost 2 vtrnl LHS, <7,4,5,6>
+    2980728774U, // <0,7,u,6>: Cost 3 vzipr <4,6,0,u>, <5,4,7,6>
+    1947440748U, // <0,7,u,7>: Cost 2 vtrnl LHS, <7,7,7,7>
     1183315007U, // <0,7,u,u>: Cost 2 vrev <7,0,u,u>
     135053414U,  // <0,u,0,0>: Cost 1 vdup0 LHS
-    1544896614U, // <0,u,0,1>: Cost 2 vext2 <0,2,0,u>, LHS
-    1678999654U, // <0,u,0,2>: Cost 2 vuzpl LHS, LHS
-    2691880677U, // <0,u,0,3>: Cost 3 vext3 <1,2,3,0>, <u,0,3,2>
-    1476988214U, // <0,u,0,4>: Cost 2 vext1 <0,0,u,0>, RHS
-    2718791419U, // <0,u,0,5>: Cost 3 vext3 <5,6,u,0>, <u,0,5,6>
-    3021248666U, // <0,u,0,6>: Cost 3 vtrnl <0,2,0,2>, RHS
-    2592535607U, // <0,u,0,7>: Cost 3 vext1 <7,0,u,0>, <7,0,u,0>
-    135053414U,  // <0,u,0,u>: Cost 1 vdup0 LHS
-    1476993097U, // <0,u,1,0>: Cost 2 vext1 <0,0,u,1>, <0,0,u,1>
-    1812780846U, // <0,u,1,1>: Cost 2 vzipl LHS, LHS
-    1618138926U, // <0,u,1,2>: Cost 2 vext3 <1,2,3,0>, LHS
-    2752742134U, // <0,u,1,3>: Cost 3 vuzpl LHS, <1,0,3,2>
-    1476996406U, // <0,u,1,4>: Cost 2 vext1 <0,0,u,1>, RHS
-    1812781210U, // <0,u,1,5>: Cost 2 vzipl LHS, RHS
-    2887006416U, // <0,u,1,6>: Cost 3 vzipl LHS, <u,6,3,7>
-    2966736200U, // <0,u,1,7>: Cost 3 vzipr <2,3,0,1>, RHS
-    1812781413U, // <0,u,1,u>: Cost 2 vzipl LHS, LHS
-    1482973286U, // <0,u,2,0>: Cost 2 vext1 <1,0,u,2>, LHS
-    1482973987U, // <0,u,2,1>: Cost 2 vext1 <1,0,u,2>, <1,0,u,2>
-    1946998574U, // <0,u,2,2>: Cost 2 vtrnl LHS, LHS
+    1678999562U, // <0,u,0,1>: Cost 2 vuzpl LHS, <0,0,1,1>
+    605257830U,  // <0,u,0,2>: Cost 1 vuzpl LHS, LHS
+    1879048348U, // <0,u,0,3>: Cost 2 vzipr <0,0,0,0>, LHS
+    1678999756U, // <0,u,0,4>: Cost 2 vuzpl LHS, <0,2,4,6>
+    1811945626U, // <0,u,0,5>: Cost 2 vzipl <0,0,0,0>, RHS
+    1947506842U, // <0,u,0,6>: Cost 2 vtrnl <0,2,0,2>, RHS
+    1879051592U, // <0,u,0,7>: Cost 2 vzipr <0,0,0,0>, RHS
+    605257884U,  // <0,u,0,u>: Cost 1 vuzpl LHS, LHS
+    1812821715U, // <0,u,1,0>: Cost 2 vzipl LHS, <u,0,1,2>
+    739039022U,  // <0,u,1,1>: Cost 1 vzipl LHS, LHS
+    1813264264U, // <0,u,1,2>: Cost 2 vzipl LHS, <u,2,3,3>
+    1679000310U, // <0,u,1,3>: Cost 2 vuzpl LHS, <1,0,3,2>
+    1812822079U, // <0,u,1,4>: Cost 2 vzipl LHS, <u,4,5,6>
+    739039386U,  // <0,u,1,5>: Cost 1 vzipl LHS, RHS
+    1813264592U, // <0,u,1,6>: Cost 2 vzipl LHS, <u,6,3,7>
+    1892994376U, // <0,u,1,7>: Cost 2 vzipr <2,3,0,1>, RHS
+    739039589U,  // <0,u,1,u>: Cost 1 vzipl LHS, LHS
+    1679001254U, // <0,u,2,0>: Cost 2 vuzpl LHS, <2,3,0,1>
+    1947039443U, // <0,u,2,1>: Cost 2 vtrnl LHS, <u,0,1,2>
+    873256750U,  // <0,u,2,2>: Cost 1 vtrnl LHS, LHS
     835584U,     // <0,u,2,3>: Cost 0 copy LHS
-    1482976566U, // <0,u,2,4>: Cost 2 vext1 <1,0,u,2>, RHS
-    3020781631U, // <0,u,2,5>: Cost 3 vtrnl LHS, <u,4,5,6>
-    1946998938U, // <0,u,2,6>: Cost 2 vtrnl LHS, RHS
-    1518810169U, // <0,u,2,7>: Cost 2 vext1 <7,0,u,2>, <7,0,u,2>
+    1679001294U, // <0,u,2,4>: Cost 2 vuzpl LHS, <2,3,4,5>
+    1947039807U, // <0,u,2,5>: Cost 2 vtrnl LHS, <u,4,5,6>
+    873257114U,  // <0,u,2,6>: Cost 1 vtrnl LHS, RHS
+    1880395080U, // <0,u,2,7>: Cost 2 vzipr <0,2,0,2>, RHS
     835584U,     // <0,u,2,u>: Cost 0 copy LHS
-    2618640534U, // <0,u,3,0>: Cost 3 vext2 <0,2,0,u>, <3,0,1,2>
-    2752743574U, // <0,u,3,1>: Cost 3 vuzpl LHS, <3,0,1,2>
-    2636556597U, // <0,u,3,2>: Cost 3 vext2 <3,2,0,u>, <3,2,0,u>
-    2752743836U, // <0,u,3,3>: Cost 3 vuzpl LHS, <3,3,3,3>
-    2618640898U, // <0,u,3,4>: Cost 3 vext2 <0,2,0,u>, <3,4,5,6>
-    2752743938U, // <0,u,3,5>: Cost 3 vuzpl LHS, <3,4,5,6>
-    2639202936U, // <0,u,3,6>: Cost 3 vext2 <3,6,0,7>, <3,6,0,7>
-    2639874762U, // <0,u,3,7>: Cost 3 vext2 <3,7,0,u>, <3,7,0,u>
-    2752743637U, // <0,u,3,u>: Cost 3 vuzpl LHS, <3,0,u,2>
-    2562703462U, // <0,u,4,0>: Cost 3 vext1 <2,0,u,4>, LHS
-    2888455982U, // <0,u,4,1>: Cost 3 vzipl <0,4,1,5>, LHS
-    3021575982U, // <0,u,4,2>: Cost 3 vtrnl <0,2,4,6>, LHS
-    2568677591U, // <0,u,4,3>: Cost 3 vext1 <3,0,u,4>, <3,0,u,4>
-    2562706742U, // <0,u,4,4>: Cost 3 vext1 <2,0,u,4>, RHS
+    2752743563U, // <0,u,3,0>: Cost 3 vuzpl LHS, <3,0,0,0>
+    1679001750U, // <0,u,3,1>: Cost 2 vuzpl LHS, <3,0,1,2>
+    2752743581U, // <0,u,3,2>: Cost 3 vuzpl LHS, <3,0,2,0>
+    1679002012U, // <0,u,3,3>: Cost 2 vuzpl LHS, <3,3,3,3>
+    2752743600U, // <0,u,3,4>: Cost 3 vuzpl LHS, <3,0,4,1>
+    1679002114U, // <0,u,3,5>: Cost 2 vuzpl LHS, <3,4,5,6>
+    2752743782U, // <0,u,3,6>: Cost 3 vuzpl LHS, <3,2,6,3>
+    2824832000U, // <0,u,3,7>: Cost 3 vuzpr <1,0,3,u>, <1,3,5,7>
+    1679001813U, // <0,u,3,u>: Cost 2 vuzpl LHS, <3,0,u,2>
+    1679002956U, // <0,u,4,0>: Cost 2 vuzpl LHS, <4,6,0,2>
+    1814714158U, // <0,u,4,1>: Cost 2 vzipl <0,4,1,5>, LHS
+    1947834158U, // <0,u,4,2>: Cost 2 vtrnl <0,2,4,6>, LHS
+    2954150044U, // <0,u,4,3>: Cost 3 vzipr <0,2,0,4>, LHS
+    1947828428U, // <0,u,4,4>: Cost 2 vtrnl <0,2,4,6>, <0,2,4,6>
     1544899894U, // <0,u,4,5>: Cost 2 vext2 <0,2,0,u>, RHS
-    1679002934U, // <0,u,4,6>: Cost 2 vuzpl LHS, RHS
-    2718718033U, // <0,u,4,7>: Cost 3 vext3 <5,6,7,0>, <u,4,7,6>
-    1679002952U, // <0,u,4,u>: Cost 2 vuzpl LHS, RHS
+    605261110U,  // <0,u,4,6>: Cost 1 vuzpl LHS, RHS
+    2954153288U, // <0,u,4,7>: Cost 3 vzipr <0,2,0,4>, RHS
+    605261128U,  // <0,u,4,u>: Cost 1 vuzpl LHS, RHS
     2568683622U, // <0,u,5,0>: Cost 3 vext1 <3,0,u,5>, LHS
-    2568684438U, // <0,u,5,1>: Cost 3 vext1 <3,0,u,5>, <1,2,3,0>
-    3765622902U, // <0,u,5,2>: Cost 4 vext3 <1,2,3,0>, <u,5,2,7>
+    1679003776U, // <0,u,5,1>: Cost 2 vuzpl LHS, <5,7,1,3>
+    2973403286U, // <0,u,5,2>: Cost 3 vzipr <3,4,0,5>, <3,0,1,2>
     2691881087U, // <0,u,5,3>: Cost 3 vext3 <1,2,3,0>, <u,5,3,7>
-    2568686902U, // <0,u,5,4>: Cost 3 vext1 <3,0,u,5>, RHS
-    2650492890U, // <0,u,5,5>: Cost 3 vext2 <5,5,0,u>, <5,5,0,u>
+    2757389922U, // <0,u,5,4>: Cost 3 vuzpl LHS, <5,0,4,1>
+    1679003652U, // <0,u,5,5>: Cost 2 vuzpl LHS, <5,5,5,5>
     1618139290U, // <0,u,5,6>: Cost 2 vext3 <1,2,3,0>, RHS
-    2824834358U, // <0,u,5,7>: Cost 3 vuzpr <1,0,3,u>, RHS
-    1618139308U, // <0,u,5,u>: Cost 2 vext3 <1,2,3,0>, RHS
-    2592579686U, // <0,u,6,0>: Cost 3 vext1 <7,0,u,6>, LHS
-    2262496983U, // <0,u,6,1>: Cost 3 vrev <u,0,1,6>
-    2654474688U, // <0,u,6,2>: Cost 3 vext2 <6,2,0,u>, <6,2,0,u>
-    2691881168U, // <0,u,6,3>: Cost 3 vext3 <1,2,3,0>, <u,6,3,7>
-    2592582966U, // <0,u,6,4>: Cost 3 vext1 <7,0,u,6>, RHS
-    2656465587U, // <0,u,6,5>: Cost 3 vext2 <6,5,0,u>, <6,5,0,u>
-    2657129220U, // <0,u,6,6>: Cost 3 vext2 <6,6,0,u>, <6,6,0,u>
+    1751092534U, // <0,u,5,7>: Cost 2 vuzpr <1,0,3,u>, RHS
+    1751092535U, // <0,u,5,u>: Cost 2 vuzpr <1,0,3,u>, RHS
+    1679004494U, // <0,u,6,0>: Cost 2 vuzpl LHS, <6,7,0,1>
+    2889873198U, // <0,u,6,1>: Cost 3 vzipl <0,6,2,7>, LHS
+    2753433904U, // <0,u,6,2>: Cost 3 vuzpl <0,2,u,6>, <6,0,2,u>
+    2955493532U, // <0,u,6,3>: Cost 3 vzipr <0,4,0,6>, LHS
+    1679004534U, // <0,u,6,4>: Cost 2 vuzpl LHS, <6,7,4,5>
+    2889873562U, // <0,u,6,5>: Cost 3 vzipl <0,6,2,7>, RHS
+    1679004472U, // <0,u,6,6>: Cost 2 vuzpl LHS, <6,6,6,6>
     1584051029U, // <0,u,6,7>: Cost 2 vext2 <6,7,0,u>, <6,7,0,u>
     1584714662U, // <0,u,6,u>: Cost 2 vext2 <6,u,0,u>, <6,u,0,u>
     2562728038U, // <0,u,7,0>: Cost 3 vext1 <2,0,u,7>, LHS
-    2562728854U, // <0,u,7,1>: Cost 3 vext1 <2,0,u,7>, <1,2,3,0>
+    1679004666U, // <0,u,7,1>: Cost 2 vuzpl LHS, <7,0,1,2>
     2562729473U, // <0,u,7,2>: Cost 3 vext1 <2,0,u,7>, <2,0,u,7>
-    2661111018U, // <0,u,7,3>: Cost 3 vext2 <7,3,0,u>, <7,3,0,u>
+    3099378333U, // <0,u,7,3>: Cost 3 vtrnr <2,0,5,7>, LHS
     2562731318U, // <0,u,7,4>: Cost 3 vext1 <2,0,u,7>, RHS
-    2718718258U, // <0,u,7,5>: Cost 3 vext3 <5,6,7,0>, <u,7,5,6>
-    2586620261U, // <0,u,7,6>: Cost 3 vext1 <6,0,u,7>, <6,0,u,7>
-    2657793644U, // <0,u,7,7>: Cost 3 vext2 <6,7,0,u>, <7,7,7,7>
-    2562733870U, // <0,u,7,u>: Cost 3 vext1 <2,0,u,7>, LHS
+    1679005030U, // <0,u,7,5>: Cost 2 vuzpl LHS, <7,4,5,6>
+    2718718261U, // <0,u,7,6>: Cost 3 vext3 <5,6,7,0>, <u,7,6,0>
+    1679005292U, // <0,u,7,7>: Cost 2 vuzpl LHS, <7,7,7,7>
+    1679004729U, // <0,u,7,u>: Cost 2 vuzpl LHS, <7,0,u,2>
     135053414U,  // <0,u,u,0>: Cost 1 vdup0 LHS
-    1544902446U, // <0,u,u,1>: Cost 2 vext2 <0,2,0,u>, LHS
-    1679005486U, // <0,u,u,2>: Cost 2 vuzpl LHS, LHS
+    743683886U,  // <0,u,u,1>: Cost 1 vzipl LHS, LHS
+    605263662U,  // <0,u,u,2>: Cost 1 vuzpl LHS, LHS
     835584U,     // <0,u,u,3>: Cost 0 copy LHS
-    1483025718U, // <0,u,u,4>: Cost 2 vext1 <1,0,u,u>, RHS
-    1544902810U, // <0,u,u,5>: Cost 2 vext2 <0,2,0,u>, RHS
-    1679005850U, // <0,u,u,6>: Cost 2 vuzpl LHS, RHS
-    1518859327U, // <0,u,u,7>: Cost 2 vext1 <7,0,u,u>, <7,0,u,u>
+    1679005668U, // <0,u,u,4>: Cost 2 vuzpl LHS, <u,3,4,5>
+    743684250U,  // <0,u,u,5>: Cost 1 vzipl LHS, RHS
+    605264026U,  // <0,u,u,6>: Cost 1 vuzpl LHS, RHS
+    1880444232U, // <0,u,u,7>: Cost 2 vzipr <0,2,0,u>, RHS
     835584U,     // <0,u,u,u>: Cost 0 copy LHS
     2689744896U, // <1,0,0,0>: Cost 3 vext3 <0,u,1,1>, <0,0,0,0>
-    1610694666U, // <1,0,0,1>: Cost 2 vext3 <0,0,1,1>, <0,0,1,1>
+    1818148966U, // <1,0,0,1>: Cost 2 vzipl <1,0,3,2>, LHS
     2689744916U, // <1,0,0,2>: Cost 3 vext3 <0,u,1,1>, <0,0,2,2>
     2619310332U, // <1,0,0,3>: Cost 3 vext2 <0,3,1,0>, <0,3,1,0>
-    2684657701U, // <1,0,0,4>: Cost 3 vext3 <0,0,4,1>, <0,0,4,1>
-    2620637598U, // <1,0,0,5>: Cost 3 vext2 <0,5,1,0>, <0,5,1,0>
-    3708977654U, // <1,0,0,6>: Cost 4 vext2 <3,0,1,0>, <0,6,1,7>
-    3666351168U, // <1,0,0,7>: Cost 4 vext1 <7,1,0,0>, <7,1,0,0>
-    1611210825U, // <1,0,0,u>: Cost 2 vext3 <0,0,u,1>, <0,0,u,1>
-    2556780646U, // <1,0,1,0>: Cost 3 vext1 <1,1,0,1>, LHS
-    2556781355U, // <1,0,1,1>: Cost 3 vext1 <1,1,0,1>, <1,1,0,1>
+    2891891026U, // <1,0,0,4>: Cost 3 vzipl <1,0,3,2>, <0,4,1,5>
+    2891891118U, // <1,0,0,5>: Cost 3 vzipl <1,0,3,2>, <0,5,2,7>
+    3965633023U, // <1,0,0,6>: Cost 4 vzipl <1,0,3,2>, <0,6,2,7>
+    2621964864U, // <1,0,0,7>: Cost 3 vext2 <0,7,1,0>, <0,7,1,0>
+    1818149533U, // <1,0,0,u>: Cost 2 vzipl <1,0,3,2>, LHS
+    2958180352U, // <1,0,1,0>: Cost 3 vzipr <0,u,1,1>, <0,0,0,0>
+    1818656870U, // <1,0,1,1>: Cost 2 vzipl <1,1,1,1>, LHS
     1616003174U, // <1,0,1,2>: Cost 2 vext3 <0,u,1,1>, LHS
-    3693052888U, // <1,0,1,3>: Cost 4 vext2 <0,3,1,0>, <1,3,1,3>
+    2758099702U, // <1,0,1,3>: Cost 3 vuzpl <1,1,0,0>, <1,0,3,2>
     2556783926U, // <1,0,1,4>: Cost 3 vext1 <1,1,0,1>, RHS
-    2580672143U, // <1,0,1,5>: Cost 3 vext1 <5,1,0,1>, <5,1,0,1>
+    2760770560U, // <1,0,1,5>: Cost 3 vuzpl <1,5,0,2>, <1,3,5,7>
     2724839566U, // <1,0,1,6>: Cost 3 vext3 <6,7,0,1>, <0,1,6,7>
     3654415354U, // <1,0,1,7>: Cost 4 vext1 <5,1,0,1>, <7,0,1,2>
     1616003228U, // <1,0,1,u>: Cost 2 vext3 <0,u,1,1>, LHS
     2685690019U, // <1,0,2,0>: Cost 3 vext3 <0,2,0,1>, <0,2,0,1>
-    2685763756U, // <1,0,2,1>: Cost 3 vext3 <0,2,1,1>, <0,2,1,1>
-    2698297524U, // <1,0,2,2>: Cost 3 vext3 <2,3,0,1>, <0,2,2,0>
+    1819459686U, // <1,0,2,1>: Cost 2 vzipl <1,2,3,0>, LHS
+    2893201572U, // <1,0,2,2>: Cost 3 vzipl <1,2,3,0>, <0,2,0,2>
     2685911230U, // <1,0,2,3>: Cost 3 vext3 <0,2,3,1>, <0,2,3,1>
     2689745100U, // <1,0,2,4>: Cost 3 vext3 <0,u,1,1>, <0,2,4,6>
-    3764814038U, // <1,0,2,5>: Cost 4 vext3 <1,1,1,1>, <0,2,5,7>
+    2970798548U, // <1,0,2,5>: Cost 3 vzipr <3,0,1,2>, <3,4,0,5>
     2724839640U, // <1,0,2,6>: Cost 3 vext3 <6,7,0,1>, <0,2,6,0>
-    2592625658U, // <1,0,2,7>: Cost 3 vext1 <7,1,0,2>, <7,0,1,2>
-    2686279915U, // <1,0,2,u>: Cost 3 vext3 <0,2,u,1>, <0,2,u,1>
-    3087843328U, // <1,0,3,0>: Cost 3 vtrnr LHS, <0,0,0,0>
-    3087843338U, // <1,0,3,1>: Cost 3 vtrnr LHS, <0,0,1,1>
+    2592625730U, // <1,0,2,7>: Cost 3 vext1 <7,1,0,2>, <7,1,0,2>
+    1819460253U, // <1,0,2,u>: Cost 2 vzipl <1,2,3,0>, LHS
+    2014101504U, // <1,0,3,0>: Cost 2 vtrnr LHS, <0,0,0,0>
+    2014101514U, // <1,0,3,1>: Cost 2 vtrnr LHS, <0,0,1,1>
     67944550U,   // <1,0,3,2>: Cost 1 vrev LHS
     2568743135U, // <1,0,3,3>: Cost 3 vext1 <3,1,0,3>, <3,1,0,3>
-    2562772278U, // <1,0,3,4>: Cost 3 vext1 <2,1,0,3>, RHS
-    4099850454U, // <1,0,3,5>: Cost 4 vtrnl <1,0,3,2>, <0,2,5,7>
-    3704998538U, // <1,0,3,6>: Cost 4 vext2 <2,3,1,0>, <3,6,2,7>
+    3087843350U, // <1,0,3,4>: Cost 3 vtrnr LHS, <0,0,2,4>
+    3026108630U, // <1,0,3,5>: Cost 3 vtrnl <1,0,3,2>, <0,2,5,7>
+    2586661226U, // <1,0,3,6>: Cost 3 vext1 <6,1,0,3>, <6,1,0,3>
     2592633923U, // <1,0,3,7>: Cost 3 vext1 <7,1,0,3>, <7,1,0,3>
     68386972U,   // <1,0,3,u>: Cost 1 vrev LHS
-    2620640146U, // <1,0,4,0>: Cost 3 vext2 <0,5,1,0>, <4,0,5,1>
+    2667752338U, // <1,0,4,0>: Cost 3 vext2 <u,4,1,0>, <4,0,5,1>
     2689745234U, // <1,0,4,1>: Cost 3 vext3 <0,u,1,1>, <0,4,1,5>
     2689745244U, // <1,0,4,2>: Cost 3 vext3 <0,u,1,1>, <0,4,2,6>
-    3760980320U, // <1,0,4,3>: Cost 4 vext3 <0,4,3,1>, <0,4,3,1>
-    3761054057U, // <1,0,4,4>: Cost 4 vext3 <0,4,4,1>, <0,4,4,1>
+    4028630048U, // <1,0,4,3>: Cost 4 vzipr <0,3,1,4>, <1,4,0,3>
+    2894569810U, // <1,0,4,4>: Cost 3 vzipl <1,4,3,5>, <0,4,1,5>
     2619313462U, // <1,0,4,5>: Cost 3 vext2 <0,3,1,0>, RHS
-    3761201531U, // <1,0,4,6>: Cost 4 vext3 <0,4,6,1>, <0,4,6,1>
+    2758102326U, // <1,0,4,6>: Cost 3 vuzpl <1,1,0,0>, RHS
     3666383940U, // <1,0,4,7>: Cost 4 vext1 <7,1,0,4>, <7,1,0,4>
     2619313705U, // <1,0,4,u>: Cost 3 vext2 <0,3,1,0>, RHS
-    4029300736U, // <1,0,5,0>: Cost 4 vzipr <0,4,1,5>, <0,0,0,0>
-    2895249510U, // <1,0,5,1>: Cost 3 vzipl <1,5,3,7>, LHS
-    3028287590U, // <1,0,5,2>: Cost 3 vtrnl <1,3,5,7>, LHS
-    3642501345U, // <1,0,5,3>: Cost 4 vext1 <3,1,0,5>, <3,1,0,5>
-    2215592058U, // <1,0,5,4>: Cost 3 vrev <0,1,4,5>
-    3724242907U, // <1,0,5,5>: Cost 4 vext2 <5,5,1,0>, <5,5,1,0>
-    3724906540U, // <1,0,5,6>: Cost 4 vext2 <5,6,1,0>, <5,6,1,0>
-    3911118134U, // <1,0,5,7>: Cost 4 vuzpr <3,1,3,0>, RHS
-    3028287644U, // <1,0,5,u>: Cost 3 vtrnl <1,3,5,7>, LHS
-    3762086375U, // <1,0,6,0>: Cost 4 vext3 <0,6,0,1>, <0,6,0,1>
-    2698297846U, // <1,0,6,1>: Cost 3 vext3 <2,3,0,1>, <0,6,1,7>
-    3760022015U, // <1,0,6,2>: Cost 4 vext3 <0,2,u,1>, <0,6,2,7>
-    3642509538U, // <1,0,6,3>: Cost 4 vext1 <3,1,0,6>, <3,1,0,6>
-    3762381323U, // <1,0,6,4>: Cost 4 vext3 <0,6,4,1>, <0,6,4,1>
-    3730215604U, // <1,0,6,5>: Cost 4 vext2 <6,5,1,0>, <6,5,1,0>
-    3730879237U, // <1,0,6,6>: Cost 4 vext2 <6,6,1,0>, <6,6,1,0>
+    2955558912U, // <1,0,5,0>: Cost 3 vzipr <0,4,1,5>, <0,0,0,0>
+    1821507686U, // <1,0,5,1>: Cost 2 vzipl <1,5,3,7>, LHS
+    1954545766U, // <1,0,5,2>: Cost 2 vtrnl <1,3,5,7>, LHS
+    4029303007U, // <1,0,5,3>: Cost 4 vzipr <0,4,1,5>, <3,1,0,3>
+    2955560050U, // <1,0,5,4>: Cost 3 vzipr <0,4,1,5>, <1,5,0,4>
+    4029304710U, // <1,0,5,5>: Cost 4 vzipr <0,4,1,5>, <5,4,0,5>
+    4029301066U, // <1,0,5,6>: Cost 4 vzipr <0,4,1,5>, <0,4,0,6>
+    2825211190U, // <1,0,5,7>: Cost 3 vuzpr <1,1,0,0>, RHS
+    1954545820U, // <1,0,5,u>: Cost 2 vtrnl <1,3,5,7>, LHS
+    4027981824U, // <1,0,6,0>: Cost 4 vzipr <0,2,1,6>, <0,0,0,0>
+    2895765606U, // <1,0,6,1>: Cost 3 vzipl <1,6,1,7>, LHS
+    3028361318U, // <1,0,6,2>: Cost 3 vtrnl <1,3,6,7>, LHS
+    3969433852U, // <1,0,6,3>: Cost 4 vzipl <1,6,0,7>, <0,3,1,0>
+    2896060754U, // <1,0,6,4>: Cost 3 vzipl <1,6,5,7>, <0,4,1,5>
+    4047227348U, // <1,0,6,5>: Cost 4 vzipr <3,4,1,6>, <3,4,0,5>
+    4179379676U, // <1,0,6,6>: Cost 4 vtrnr <3,1,0,6>, <2,0,4,6>
     2657801046U, // <1,0,6,7>: Cost 3 vext2 <6,7,1,0>, <6,7,1,0>
-    2658464679U, // <1,0,6,u>: Cost 3 vext2 <6,u,1,0>, <6,u,1,0>
+    3028361372U, // <1,0,6,u>: Cost 3 vtrnl <1,3,6,7>, LHS
     2659128312U, // <1,0,7,0>: Cost 3 vext2 <7,0,1,0>, <7,0,1,0>
-    4047898278U, // <1,0,7,1>: Cost 4 vzipr <3,5,1,7>, <2,3,0,1>
+    2974156454U, // <1,0,7,1>: Cost 3 vzipr <3,5,1,7>, <2,3,0,1>
     2215460970U, // <1,0,7,2>: Cost 3 vrev <0,1,2,7>
-    3734861035U, // <1,0,7,3>: Cost 4 vext2 <7,3,1,0>, <7,3,1,0>
-    3731543398U, // <1,0,7,4>: Cost 4 vext2 <6,7,1,0>, <7,4,5,6>
-    3736188301U, // <1,0,7,5>: Cost 4 vext2 <7,5,1,0>, <7,5,1,0>
+    2861265024U, // <1,0,7,3>: Cost 3 vuzpr <7,1,3,0>, <5,7,1,3>
+    4179757208U, // <1,0,7,4>: Cost 4 vtrnr <3,1,5,7>, <3,0,1,4>
+    2215682181U, // <1,0,7,5>: Cost 3 vrev <0,1,5,7>
     2663110110U, // <1,0,7,6>: Cost 3 vext2 <7,6,1,0>, <7,6,1,0>
-    3731543660U, // <1,0,7,7>: Cost 4 vext2 <6,7,1,0>, <7,7,7,7>
-    2664437376U, // <1,0,7,u>: Cost 3 vext2 <7,u,1,0>, <7,u,1,0>
-    3087884288U, // <1,0,u,0>: Cost 3 vtrnr LHS, <0,0,0,0>
-    1616003730U, // <1,0,u,1>: Cost 2 vext3 <0,u,1,1>, <0,u,1,1>
+    3834517100U, // <1,0,7,7>: Cost 4 vuzpl <1,5,0,2>, <7,7,7,7>
+    2861633669U, // <1,0,7,u>: Cost 3 vuzpr <7,1,u,0>, <5,7,1,u>
+    2014142464U, // <1,0,u,0>: Cost 2 vtrnr LHS, <0,0,0,0>
+    2014142474U, // <1,0,u,1>: Cost 2 vtrnr LHS, <0,0,1,1>
     67985515U,   // <1,0,u,2>: Cost 1 vrev LHS
     2689893028U, // <1,0,u,3>: Cost 3 vext3 <0,u,3,1>, <0,u,3,1>
-    2689745586U, // <1,0,u,4>: Cost 3 vext3 <0,u,1,1>, <0,u,4,6>
+    3087884301U, // <1,0,u,4>: Cost 3 vtrnr LHS, <0,0,1,4>
     2619316378U, // <1,0,u,5>: Cost 3 vext2 <0,3,1,0>, RHS
-    2669082807U, // <1,0,u,6>: Cost 3 vext2 <u,6,1,0>, <u,6,1,0>
-    2592674888U, // <1,0,u,7>: Cost 3 vext1 <7,1,0,u>, <7,1,0,u>
+    2758105242U, // <1,0,u,6>: Cost 3 vuzpl <1,1,0,0>, RHS
+    2825211433U, // <1,0,u,7>: Cost 3 vuzpr <1,1,0,0>, RHS
     68427937U,   // <1,0,u,u>: Cost 1 vrev LHS
-    1543585802U, // <1,1,0,0>: Cost 2 vext2 <0,0,1,1>, <0,0,1,1>
+    1818149622U, // <1,1,0,0>: Cost 2 vzipl <1,0,3,2>, <1,0,3,2>
     1548894310U, // <1,1,0,1>: Cost 2 vext2 <0,u,1,1>, LHS
-    2618654892U, // <1,1,0,2>: Cost 3 vext2 <0,2,1,1>, <0,2,1,1>
+    1684439142U, // <1,1,0,2>: Cost 2 vuzpl <1,1,1,1>, LHS
     2689745654U, // <1,1,0,3>: Cost 3 vext3 <0,u,1,1>, <1,0,3,2>
     2622636370U, // <1,1,0,4>: Cost 3 vext2 <0,u,1,1>, <0,4,1,5>
-    2620645791U, // <1,1,0,5>: Cost 3 vext2 <0,5,1,1>, <0,5,1,1>
+    2891891856U, // <1,1,0,5>: Cost 3 vzipl <1,0,3,2>, <1,5,3,7>
     3696378367U, // <1,1,0,6>: Cost 4 vext2 <0,u,1,1>, <0,6,2,7>
-    3666424905U, // <1,1,0,7>: Cost 4 vext1 <7,1,1,0>, <7,1,1,0>
+    4044521974U, // <1,1,0,7>: Cost 4 vzipr <3,0,1,0>, <0,6,1,7>
     1548894866U, // <1,1,0,u>: Cost 2 vext2 <0,u,1,1>, <0,u,1,1>
     1483112550U, // <1,1,1,0>: Cost 2 vext1 <1,1,1,1>, LHS
     202162278U,  // <1,1,1,1>: Cost 1 vdup1 LHS
     2622636950U, // <1,1,1,2>: Cost 3 vext2 <0,u,1,1>, <1,2,3,0>
-    2622637016U, // <1,1,1,3>: Cost 3 vext2 <0,u,1,1>, <1,3,1,3>
+    1751548006U, // <1,1,1,3>: Cost 2 vuzpr <1,1,1,1>, LHS
     1483115830U, // <1,1,1,4>: Cost 2 vext1 <1,1,1,1>, RHS
     2622637200U, // <1,1,1,5>: Cost 3 vext2 <0,u,1,1>, <1,5,3,7>
-    2622637263U, // <1,1,1,6>: Cost 3 vext2 <0,u,1,1>, <1,6,1,7>
-    2592691274U, // <1,1,1,7>: Cost 3 vext1 <7,1,1,1>, <7,1,1,1>
+    2825290580U, // <1,1,1,6>: Cost 3 vuzpr <1,1,1,1>, <1,1,4,6>
+    3093726046U, // <1,1,1,7>: Cost 3 vtrnr <1,1,1,1>, <1,1,5,7>
     202162278U,  // <1,1,1,u>: Cost 1 vdup1 LHS
-    2550890588U, // <1,1,2,0>: Cost 3 vext1 <0,1,1,2>, <0,1,1,2>
-    2617329183U, // <1,1,2,1>: Cost 3 vext2 <0,0,1,1>, <2,1,3,1>
-    2622637672U, // <1,1,2,2>: Cost 3 vext2 <0,u,1,1>, <2,2,2,2>
+    2758182566U, // <1,1,2,0>: Cost 3 vuzpl <1,1,1,1>, <2,3,0,1>
+    2958852754U, // <1,1,2,1>: Cost 3 vzipr <1,0,1,2>, <0,u,1,1>
+    1819460502U, // <1,1,2,2>: Cost 2 vzipl <1,2,3,0>, <1,2,3,0>
     2622637734U, // <1,1,2,3>: Cost 3 vext2 <0,u,1,1>, <2,3,0,1>
-    2550893878U, // <1,1,2,4>: Cost 3 vext1 <0,1,1,2>, RHS
-    3696379744U, // <1,1,2,5>: Cost 4 vext2 <0,u,1,1>, <2,5,2,7>
+    2758182606U, // <1,1,2,4>: Cost 3 vuzpl <1,1,1,1>, <2,3,4,5>
+    2893202576U, // <1,1,2,5>: Cost 3 vzipl <1,2,3,0>, <1,5,3,7>
     2622638010U, // <1,1,2,6>: Cost 3 vext2 <0,u,1,1>, <2,6,3,7>
-    3804554170U, // <1,1,2,7>: Cost 4 vext3 <7,7,0,1>, <1,2,7,0>
-    2622638139U, // <1,1,2,u>: Cost 3 vext2 <0,u,1,1>, <2,u,0,1>
-    2622638230U, // <1,1,3,0>: Cost 3 vext2 <0,u,1,1>, <3,0,1,2>
-    3087844148U, // <1,1,3,1>: Cost 3 vtrnr LHS, <1,1,1,1>
-    4161585244U, // <1,1,3,2>: Cost 4 vtrnr LHS, <0,1,1,2>
-    2014101606U, // <1,1,3,3>: Cost 2 vtrnr LHS, LHS
+    4032595151U, // <1,1,2,7>: Cost 4 vzipr <1,0,1,2>, <1,6,1,7>
+    1819460502U, // <1,1,2,u>: Cost 2 vzipl <1,2,3,0>, <1,2,3,0>
+    3087843418U, // <1,1,3,0>: Cost 3 vtrnr LHS, <0,1,1,0>
+    2014102324U, // <1,1,3,1>: Cost 2 vtrnr LHS, <1,1,1,1>
+    3087843420U, // <1,1,3,2>: Cost 3 vtrnr LHS, <0,1,1,2>
+    940359782U,  // <1,1,3,3>: Cost 1 vtrnr LHS, LHS
     2622638594U, // <1,1,3,4>: Cost 3 vext2 <0,u,1,1>, <3,4,5,6>
-    2689745920U, // <1,1,3,5>: Cost 3 vext3 <0,u,1,1>, <1,3,5,7>
-    3763487753U, // <1,1,3,6>: Cost 4 vext3 <0,u,1,1>, <1,3,6,7>
-    2592707660U, // <1,1,3,7>: Cost 3 vext1 <7,1,1,3>, <7,1,1,3>
-    2014101611U, // <1,1,3,u>: Cost 2 vtrnr LHS, LHS
+    3087843432U, // <1,1,3,5>: Cost 3 vtrnr LHS, <0,1,2,5>
+    3135619195U, // <1,1,3,6>: Cost 3 vtrnr LHS, <0,1,4,6>
+    2825290752U, // <1,1,3,7>: Cost 3 vuzpr <1,1,1,1>, <1,3,5,7>
+    940359787U,  // <1,1,3,u>: Cost 1 vtrnr LHS, LHS
     2556878950U, // <1,1,4,0>: Cost 3 vext1 <1,1,1,4>, LHS
     2221335351U, // <1,1,4,1>: Cost 3 vrev <1,1,1,4>
-    3696380988U, // <1,1,4,2>: Cost 4 vext2 <0,u,1,1>, <4,2,6,0>
-    3763487805U, // <1,1,4,3>: Cost 4 vext3 <0,u,1,1>, <1,4,3,5>
-    2556882230U, // <1,1,4,4>: Cost 3 vext1 <1,1,1,4>, RHS
+    2894496662U, // <1,1,4,2>: Cost 3 vzipl <1,4,2,5>, <1,2,3,0>
+    3093749862U, // <1,1,4,3>: Cost 3 vtrnr <1,1,1,4>, LHS
+    2954887424U, // <1,1,4,4>: Cost 3 vzipr <0,3,1,4>, <0,3,1,4>
     1548897590U, // <1,1,4,5>: Cost 2 vext2 <0,u,1,1>, RHS
-    2758184246U, // <1,1,4,6>: Cost 3 vuzpl <1,1,1,1>, RHS
-    3666457677U, // <1,1,4,7>: Cost 4 vext1 <7,1,1,4>, <7,1,1,4>
+    1684442422U, // <1,1,4,6>: Cost 2 vuzpl <1,1,1,1>, RHS
+    4033275006U, // <1,1,4,7>: Cost 4 vzipr <1,1,1,4>, <1,5,1,7>
     1548897833U, // <1,1,4,u>: Cost 2 vext2 <0,u,1,1>, RHS
-    2693653615U, // <1,1,5,0>: Cost 3 vext3 <1,5,0,1>, <1,5,0,1>
-    2617331408U, // <1,1,5,1>: Cost 3 vext2 <0,0,1,1>, <5,1,7,3>
-    4029302934U, // <1,1,5,2>: Cost 4 vzipr <0,4,1,5>, <3,0,1,2>
-    2689746064U, // <1,1,5,3>: Cost 3 vext3 <0,u,1,1>, <1,5,3,7>
-    2221564755U, // <1,1,5,4>: Cost 3 vrev <1,1,4,5>
-    2955559250U, // <1,1,5,5>: Cost 3 vzipr <0,4,1,5>, <0,4,1,5>
-    2617331810U, // <1,1,5,6>: Cost 3 vext2 <0,0,1,1>, <5,6,7,0>
-    2825293110U, // <1,1,5,7>: Cost 3 vuzpr <1,1,1,1>, RHS
-    2689746109U, // <1,1,5,u>: Cost 3 vext3 <0,u,1,1>, <1,5,u,7>
-    3696382241U, // <1,1,6,0>: Cost 4 vext2 <0,u,1,1>, <6,0,1,2>
-    2689746127U, // <1,1,6,1>: Cost 3 vext3 <0,u,1,1>, <1,6,1,7>
-    2617332218U, // <1,1,6,2>: Cost 3 vext2 <0,0,1,1>, <6,2,7,3>
-    3763487969U, // <1,1,6,3>: Cost 4 vext3 <0,u,1,1>, <1,6,3,7>
-    3696382605U, // <1,1,6,4>: Cost 4 vext2 <0,u,1,1>, <6,4,5,6>
-    4029309266U, // <1,1,6,5>: Cost 4 vzipr <0,4,1,6>, <0,4,1,5>
-    2617332536U, // <1,1,6,6>: Cost 3 vext2 <0,0,1,1>, <6,6,6,6>
-    2724840702U, // <1,1,6,7>: Cost 3 vext3 <6,7,0,1>, <1,6,7,0>
-    2725504263U, // <1,1,6,u>: Cost 3 vext3 <6,u,0,1>, <1,6,u,0>
-    2617332720U, // <1,1,7,0>: Cost 3 vext2 <0,0,1,1>, <7,0,0,1>
-    2659800138U, // <1,1,7,1>: Cost 3 vext2 <7,1,1,1>, <7,1,1,1>
-    3691074717U, // <1,1,7,2>: Cost 4 vext2 <0,0,1,1>, <7,2,1,3>
-    4167811174U, // <1,1,7,3>: Cost 4 vtrnr <1,1,5,7>, LHS
-    2617333094U, // <1,1,7,4>: Cost 3 vext2 <0,0,1,1>, <7,4,5,6>
-    3295396702U, // <1,1,7,5>: Cost 4 vrev <1,1,5,7>
-    3803891014U, // <1,1,7,6>: Cost 4 vext3 <7,6,0,1>, <1,7,6,0>
-    2617333356U, // <1,1,7,7>: Cost 3 vext2 <0,0,1,1>, <7,7,7,7>
-    2659800138U, // <1,1,7,u>: Cost 3 vext2 <7,1,1,1>, <7,1,1,1>
-    1483112550U, // <1,1,u,0>: Cost 2 vext1 <1,1,1,1>, LHS
+    3028288624U, // <1,1,5,0>: Cost 3 vtrnl <1,3,5,7>, <1,5,0,2>
+    2955558922U, // <1,1,5,1>: Cost 3 vzipr <0,4,1,5>, <0,0,1,1>
+    2955561110U, // <1,1,5,2>: Cost 3 vzipr <0,4,1,5>, <3,0,1,2>
+    3087859814U, // <1,1,5,3>: Cost 3 vtrnr <0,1,2,5>, LHS
+    2955558925U, // <1,1,5,4>: Cost 3 vzipr <0,4,1,5>, <0,0,1,4>
+    1881817426U, // <1,1,5,5>: Cost 2 vzipr <0,4,1,5>, <0,4,1,5>
+    2670415970U, // <1,1,5,6>: Cost 3 vext2 <u,u,1,1>, <5,6,7,0>
+    1751551286U, // <1,1,5,7>: Cost 2 vuzpr <1,1,1,1>, RHS
+    1751551287U, // <1,1,5,u>: Cost 2 vuzpr <1,1,1,1>, RHS
+    2758185806U, // <1,1,6,0>: Cost 3 vuzpl <1,1,1,1>, <6,7,0,1>
+    3093988148U, // <1,1,6,1>: Cost 3 vtrnr <1,1,4,6>, <1,1,1,1>
+    2973485206U, // <1,1,6,2>: Cost 3 vzipr <3,4,1,6>, <3,0,1,2>
+    3093987430U, // <1,1,6,3>: Cost 3 vtrnr <1,1,4,6>, LHS
+    2221572948U, // <1,1,6,4>: Cost 3 vrev <1,1,4,6>
+    2955567442U, // <1,1,6,5>: Cost 3 vzipr <0,4,1,6>, <0,4,1,5>
+    2954240177U, // <1,1,6,6>: Cost 3 vzipr <0,2,1,6>, <0,2,1,6>
+    2825291706U, // <1,1,6,7>: Cost 3 vuzpr <1,1,1,1>, <2,6,3,7>
+    2825291707U, // <1,1,6,u>: Cost 3 vuzpr <1,1,1,1>, <2,6,3,u>
+    2670416890U, // <1,1,7,0>: Cost 3 vext2 <u,u,1,1>, <7,0,1,2>
+    3094070068U, // <1,1,7,1>: Cost 3 vtrnr <1,1,5,7>, <1,1,1,1>
+    4167811884U, // <1,1,7,2>: Cost 4 vtrnr <1,1,5,7>, <1,1,0,2>
+    3094069350U, // <1,1,7,3>: Cost 3 vtrnr <1,1,5,7>, LHS
+    2670417254U, // <1,1,7,4>: Cost 3 vext2 <u,u,1,1>, <7,4,5,6>
+    2221654878U, // <1,1,7,5>: Cost 3 vrev <1,1,5,7>
+    4167811924U, // <1,1,7,6>: Cost 4 vtrnr <1,1,5,7>, <1,1,4,6>
+    3094070110U, // <1,1,7,7>: Cost 3 vtrnr <1,1,5,7>, <1,1,5,7>
+    3094069355U, // <1,1,7,u>: Cost 3 vtrnr <1,1,5,7>, LHS
+    1818149622U, // <1,1,u,0>: Cost 2 vzipl <1,0,3,2>, <1,0,3,2>
     202162278U,  // <1,1,u,1>: Cost 1 vdup1 LHS
-    2622642056U, // <1,1,u,2>: Cost 3 vext2 <0,u,1,1>, <u,2,3,3>
-    2014142566U, // <1,1,u,3>: Cost 2 vtrnr LHS, LHS
+    1684444974U, // <1,1,u,2>: Cost 2 vuzpl <1,1,1,1>, LHS
+    940400742U,  // <1,1,u,3>: Cost 1 vtrnr LHS, LHS
     1483115830U, // <1,1,u,4>: Cost 2 vext1 <1,1,1,1>, RHS
     1548900506U, // <1,1,u,5>: Cost 2 vext2 <0,u,1,1>, RHS
-    2622642384U, // <1,1,u,6>: Cost 3 vext2 <0,u,1,1>, <u,6,3,7>
-    2825293353U, // <1,1,u,7>: Cost 3 vuzpr <1,1,1,1>, RHS
-    202162278U,  // <1,1,u,u>: Cost 1 vdup1 LHS
-    2635251712U, // <1,2,0,0>: Cost 3 vext2 <3,0,1,2>, <0,0,0,0>
+    1684445338U, // <1,1,u,6>: Cost 2 vuzpl <1,1,1,1>, RHS
+    1751551529U, // <1,1,u,7>: Cost 2 vuzpr <1,1,1,1>, RHS
+    940400747U,  // <1,1,u,u>: Cost 1 vtrnr LHS, LHS
+    2759590052U, // <1,2,0,0>: Cost 3 vuzpl <1,3,2,2>, <0,2,0,2>
     1561509990U, // <1,2,0,1>: Cost 2 vext2 <3,0,1,2>, LHS
     2618663085U, // <1,2,0,2>: Cost 3 vext2 <0,2,1,2>, <0,2,1,2>
-    2696529358U, // <1,2,0,3>: Cost 3 vext3 <2,0,3,1>, <2,0,3,1>
-    2635252050U, // <1,2,0,4>: Cost 3 vext2 <3,0,1,2>, <0,4,1,5>
-    3769533926U, // <1,2,0,5>: Cost 4 vext3 <1,u,2,1>, <2,0,5,7>
-    2621317617U, // <1,2,0,6>: Cost 3 vext2 <0,6,1,2>, <0,6,1,2>
+    2954854502U, // <1,2,0,3>: Cost 3 vzipr <0,3,1,0>, LHS
+    2759622860U, // <1,2,0,4>: Cost 3 vuzpl <1,3,2,6>, <0,2,4,6>
+    3965634400U, // <1,2,0,5>: Cost 4 vzipl <1,0,3,2>, <2,5,2,7>
+    2891892666U, // <1,2,0,6>: Cost 3 vzipl <1,0,3,2>, <2,6,3,7>
     2659140170U, // <1,2,0,7>: Cost 3 vext2 <7,0,1,2>, <0,7,2,1>
     1561510557U, // <1,2,0,u>: Cost 2 vext2 <3,0,1,2>, LHS
     2623308516U, // <1,2,1,0>: Cost 3 vext2 <1,0,1,2>, <1,0,1,2>
-    2635252532U, // <1,2,1,1>: Cost 3 vext2 <3,0,1,2>, <1,1,1,1>
-    2631271318U, // <1,2,1,2>: Cost 3 vext2 <2,3,1,2>, <1,2,3,0>
-    2958180454U, // <1,2,1,3>: Cost 3 vzipr <0,u,1,1>, LHS
-    2550959414U, // <1,2,1,4>: Cost 3 vext1 <0,1,2,1>, RHS
+    2959507556U, // <1,2,1,1>: Cost 3 vzipr <1,1,1,1>, <0,1,2,1>
+    2958180372U, // <1,2,1,2>: Cost 3 vzipr <0,u,1,1>, <0,0,2,2>
+    1884438630U, // <1,2,1,3>: Cost 2 vzipr <0,u,1,1>, LHS
+    3026618062U, // <1,2,1,4>: Cost 3 vtrnl <1,1,1,1>, <2,3,4,5>
     2635252880U, // <1,2,1,5>: Cost 3 vext2 <3,0,1,2>, <1,5,3,7>
-    2635252952U, // <1,2,1,6>: Cost 3 vext2 <3,0,1,2>, <1,6,2,7>
-    3732882731U, // <1,2,1,7>: Cost 4 vext2 <7,0,1,2>, <1,7,3,0>
-    2958180459U, // <1,2,1,u>: Cost 3 vzipr <0,u,1,1>, LHS
-    2629281213U, // <1,2,2,0>: Cost 3 vext2 <2,0,1,2>, <2,0,1,2>
-    2635253280U, // <1,2,2,1>: Cost 3 vext2 <3,0,1,2>, <2,1,3,2>
+    2958180700U, // <1,2,1,6>: Cost 3 vzipr <0,u,1,1>, <0,4,2,6>
+    4031922687U, // <1,2,1,7>: Cost 4 vzipr <0,u,1,1>, <0,6,2,7>
+    1884438635U, // <1,2,1,u>: Cost 2 vzipr <0,u,1,1>, LHS
+    2893202878U, // <1,2,2,0>: Cost 3 vzipl <1,2,3,0>, <2,0,1,3>
+    2893235754U, // <1,2,2,1>: Cost 3 vzipl <1,2,3,4>, <2,1,4,3>
     2618664552U, // <1,2,2,2>: Cost 3 vext2 <0,2,1,2>, <2,2,2,2>
-    2689746546U, // <1,2,2,3>: Cost 3 vext3 <0,u,1,1>, <2,2,3,3>
-    3764815485U, // <1,2,2,4>: Cost 4 vext3 <1,1,1,1>, <2,2,4,5>
-    3760023176U, // <1,2,2,5>: Cost 4 vext3 <0,2,u,1>, <2,2,5,7>
-    2635253690U, // <1,2,2,6>: Cost 3 vext2 <3,0,1,2>, <2,6,3,7>
-    2659141610U, // <1,2,2,7>: Cost 3 vext2 <7,0,1,2>, <2,7,0,1>
-    2689746591U, // <1,2,2,u>: Cost 3 vext3 <0,u,1,1>, <2,2,u,3>
+    1897054310U, // <1,2,2,3>: Cost 2 vzipr <3,0,1,2>, LHS
+    2893235970U, // <1,2,2,4>: Cost 3 vzipl <1,2,3,4>, <2,4,1,3>
+    2893203278U, // <1,2,2,5>: Cost 3 vzipl <1,2,3,0>, <2,5,0,7>
+    2893203386U, // <1,2,2,6>: Cost 3 vzipl <1,2,3,0>, <2,6,3,7>
+    2994684010U, // <1,2,2,7>: Cost 3 vzipr <7,0,1,2>, <0,1,2,7>
+    1897054315U, // <1,2,2,u>: Cost 2 vzipr <3,0,1,2>, LHS
     403488870U,  // <1,2,3,0>: Cost 1 vext1 LHS, LHS
     1477231350U, // <1,2,3,1>: Cost 2 vext1 LHS, <1,0,3,2>
     1477232232U, // <1,2,3,2>: Cost 2 vext1 LHS, <2,2,2,2>
     1477233052U, // <1,2,3,3>: Cost 2 vext1 LHS, <3,3,3,3>
     403492150U,  // <1,2,3,4>: Cost 1 vext1 LHS, RHS
     1525010128U, // <1,2,3,5>: Cost 2 vext1 LHS, <5,1,7,3>
-    1525010938U, // <1,2,3,6>: Cost 2 vext1 LHS, <6,2,7,3>
+    2014101708U, // <1,2,3,6>: Cost 2 vtrnr LHS, <0,2,4,6>
     1525011450U, // <1,2,3,7>: Cost 2 vext1 LHS, <7,0,1,2>
     403494702U,  // <1,2,3,u>: Cost 1 vext1 LHS, LHS
     2641226607U, // <1,2,4,0>: Cost 3 vext2 <4,0,1,2>, <4,0,1,2>
     3624723446U, // <1,2,4,1>: Cost 4 vext1 <0,1,2,4>, <1,3,4,6>
-    3301123609U, // <1,2,4,2>: Cost 4 vrev <2,1,2,4>
-    2598759198U, // <1,2,4,3>: Cost 3 vext1 <u,1,2,4>, <3,u,1,2>
+    4028629012U, // <1,2,4,2>: Cost 4 vzipr <0,3,1,4>, <0,0,2,2>
+    2954887270U, // <1,2,4,3>: Cost 3 vzipr <0,3,1,4>, LHS
     2659142864U, // <1,2,4,4>: Cost 3 vext2 <7,0,1,2>, <4,4,4,4>
     1561513270U, // <1,2,4,5>: Cost 2 vext2 <3,0,1,2>, RHS
-    2659143028U, // <1,2,4,6>: Cost 3 vext2 <7,0,1,2>, <4,6,4,6>
+    2759576886U, // <1,2,4,6>: Cost 3 vuzpl <1,3,2,0>, RHS
     2659143112U, // <1,2,4,7>: Cost 3 vext2 <7,0,1,2>, <4,7,5,0>
     1561513513U, // <1,2,4,u>: Cost 2 vext2 <3,0,1,2>, RHS
-    2550988902U, // <1,2,5,0>: Cost 3 vext1 <0,1,2,5>, LHS
+    2550988904U, // <1,2,5,0>: Cost 3 vext1 <0,1,2,5>, <0,1,2,5>
     2550989824U, // <1,2,5,1>: Cost 3 vext1 <0,1,2,5>, <1,3,5,7>
-    3624732264U, // <1,2,5,2>: Cost 4 vext1 <0,1,2,5>, <2,2,2,2>
-    2955559014U, // <1,2,5,3>: Cost 3 vzipr <0,4,1,5>, LHS
+    2955558932U, // <1,2,5,2>: Cost 3 vzipr <0,4,1,5>, <0,0,2,2>
+    1881817190U, // <1,2,5,3>: Cost 2 vzipr <0,4,1,5>, LHS
     2550992182U, // <1,2,5,4>: Cost 3 vext1 <0,1,2,5>, RHS
     2659143684U, // <1,2,5,5>: Cost 3 vext2 <7,0,1,2>, <5,5,5,5>
-    2659143778U, // <1,2,5,6>: Cost 3 vext2 <7,0,1,2>, <5,6,7,0>
-    2659143848U, // <1,2,5,7>: Cost 3 vext2 <7,0,1,2>, <5,7,5,7>
-    2550994734U, // <1,2,5,u>: Cost 3 vext1 <0,1,2,5>, LHS
+    2955559260U, // <1,2,5,6>: Cost 3 vzipr <0,4,1,5>, <0,4,2,6>
+    2825817398U, // <1,2,5,7>: Cost 3 vuzpr <1,1,u,2>, RHS
+    1881817195U, // <1,2,5,u>: Cost 2 vzipr <0,4,1,5>, LHS
     2700289945U, // <1,2,6,0>: Cost 3 vext3 <2,6,0,1>, <2,6,0,1>
     2635256232U, // <1,2,6,1>: Cost 3 vext2 <3,0,1,2>, <6,1,7,2>
     2659144186U, // <1,2,6,2>: Cost 3 vext2 <7,0,1,2>, <6,2,7,3>
-    2689746874U, // <1,2,6,3>: Cost 3 vext3 <0,u,1,1>, <2,6,3,7>
+    2954240102U, // <1,2,6,3>: Cost 3 vzipr <0,2,1,6>, LHS
     3763488705U, // <1,2,6,4>: Cost 4 vext3 <0,u,1,1>, <2,6,4,5>
     3763488716U, // <1,2,6,5>: Cost 4 vext3 <0,u,1,1>, <2,6,5,7>
-    2659144504U, // <1,2,6,6>: Cost 3 vext2 <7,0,1,2>, <6,6,6,6>
+    2895914938U, // <1,2,6,6>: Cost 3 vzipl <1,6,3,7>, <2,6,3,7>
     2657817432U, // <1,2,6,7>: Cost 3 vext2 <6,7,1,2>, <6,7,1,2>
-    2689746919U, // <1,2,6,u>: Cost 3 vext3 <0,u,1,1>, <2,6,u,7>
+    2954240107U, // <1,2,6,u>: Cost 3 vzipr <0,2,1,6>, LHS
     1585402874U, // <1,2,7,0>: Cost 2 vext2 <7,0,1,2>, <7,0,1,2>
     2659144770U, // <1,2,7,1>: Cost 3 vext2 <7,0,1,2>, <7,1,0,2>
-    3708998858U, // <1,2,7,2>: Cost 4 vext2 <3,0,1,2>, <7,2,6,3>
-    2635257059U, // <1,2,7,3>: Cost 3 vext2 <3,0,1,2>, <7,3,0,1>
+    4167811236U, // <1,2,7,2>: Cost 4 vtrnr <1,1,5,7>, <0,2,0,2>
+    2962210918U, // <1,2,7,3>: Cost 3 vzipr <1,5,1,7>, LHS
     2659145062U, // <1,2,7,4>: Cost 3 vext2 <7,0,1,2>, <7,4,5,6>
-    3732886916U, // <1,2,7,5>: Cost 4 vext2 <7,0,1,2>, <7,5,0,0>
-    3732886998U, // <1,2,7,6>: Cost 4 vext2 <7,0,1,2>, <7,6,0,1>
+    3301369399U, // <1,2,7,5>: Cost 4 vrev <2,1,5,7>
+    4167811276U, // <1,2,7,6>: Cost 4 vtrnr <1,1,5,7>, <0,2,4,6>
     2659145255U, // <1,2,7,7>: Cost 3 vext2 <7,0,1,2>, <7,7,0,1>
     1590711938U, // <1,2,7,u>: Cost 2 vext2 <7,u,1,2>, <7,u,1,2>
     403529835U,  // <1,2,u,0>: Cost 1 vext1 LHS, LHS
@@ -992,746 +990,746 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1477273750U, // <1,2,u,3>: Cost 2 vext1 LHS, <3,0,1,2>
     403533110U,  // <1,2,u,4>: Cost 1 vext1 LHS, RHS
     1561516186U, // <1,2,u,5>: Cost 2 vext2 <3,0,1,2>, RHS
-    1525051898U, // <1,2,u,6>: Cost 2 vext1 LHS, <6,2,7,3>
+    2014142668U, // <1,2,u,6>: Cost 2 vtrnr LHS, <0,2,4,6>
     1525052410U, // <1,2,u,7>: Cost 2 vext1 LHS, <7,0,1,2>
     403535662U,  // <1,2,u,u>: Cost 1 vext1 LHS, LHS
-    2819407872U, // <1,3,0,0>: Cost 3 vuzpr LHS, <0,0,0,0>
-    1551564902U, // <1,3,0,1>: Cost 2 vext2 <1,3,1,3>, LHS
-    2819408630U, // <1,3,0,2>: Cost 3 vuzpr LHS, <1,0,3,2>
+    1745666048U, // <1,3,0,0>: Cost 2 vuzpr LHS, <0,0,0,0>
+    1746108426U, // <1,3,0,1>: Cost 2 vuzpr LHS, <0,0,1,1>
+    1745666806U, // <1,3,0,2>: Cost 2 vuzpr LHS, <1,0,3,2>
     2619334911U, // <1,3,0,3>: Cost 3 vext2 <0,3,1,3>, <0,3,1,3>
-    2625306962U, // <1,3,0,4>: Cost 3 vext2 <1,3,1,3>, <0,4,1,5>
-    3832725879U, // <1,3,0,5>: Cost 4 vuzpl <1,2,3,0>, <0,4,5,6>
-    3699048959U, // <1,3,0,6>: Cost 4 vext2 <1,3,1,3>, <0,6,2,7>
-    3776538827U, // <1,3,0,7>: Cost 4 vext3 <3,0,7,1>, <3,0,7,1>
-    1551565469U, // <1,3,0,u>: Cost 2 vext2 <1,3,1,3>, LHS
-    2618671862U, // <1,3,1,0>: Cost 3 vext2 <0,2,1,3>, <1,0,3,2>
-    2819408692U, // <1,3,1,1>: Cost 3 vuzpr LHS, <1,1,1,1>
-    2624643975U, // <1,3,1,2>: Cost 3 vext2 <1,2,1,3>, <1,2,1,3>
-    1745666150U, // <1,3,1,3>: Cost 2 vuzpr LHS, LHS
-    2557005110U, // <1,3,1,4>: Cost 3 vext1 <1,1,3,1>, RHS
-    2625307792U, // <1,3,1,5>: Cost 3 vext2 <1,3,1,3>, <1,5,3,7>
-    3698386127U, // <1,3,1,6>: Cost 4 vext2 <1,2,1,3>, <1,6,1,7>
-    2592838748U, // <1,3,1,7>: Cost 3 vext1 <7,1,3,1>, <7,1,3,1>
-    1745666155U, // <1,3,1,u>: Cost 2 vuzpr LHS, LHS
-    2819408790U, // <1,3,2,0>: Cost 3 vuzpr LHS, <1,2,3,0>
-    2625308193U, // <1,3,2,1>: Cost 3 vext2 <1,3,1,3>, <2,1,3,3>
-    2819408036U, // <1,3,2,2>: Cost 3 vuzpr LHS, <0,2,0,2>
-    2819851890U, // <1,3,2,3>: Cost 3 vuzpr LHS, <2,2,3,3>
-    2819408794U, // <1,3,2,4>: Cost 3 vuzpr LHS, <1,2,3,4>
-    3893149890U, // <1,3,2,5>: Cost 4 vuzpr LHS, <0,2,3,5>
-    2819408076U, // <1,3,2,6>: Cost 3 vuzpr LHS, <0,2,4,6>
-    3772041583U, // <1,3,2,7>: Cost 4 vext3 <2,3,0,1>, <3,2,7,3>
-    2819408042U, // <1,3,2,u>: Cost 3 vuzpr LHS, <0,2,0,u>
+    2819850253U, // <1,3,0,4>: Cost 3 vuzpr LHS, <0,0,1,4>
+    2758984055U, // <1,3,0,5>: Cost 3 vuzpl <1,2,3,0>, <0,4,5,6>
+    2867183658U, // <1,3,0,6>: Cost 3 vuzpr LHS, <0,0,4,6>
+    2592830555U, // <1,3,0,7>: Cost 3 vext1 <7,1,3,0>, <7,1,3,0>
+    1745668252U, // <1,3,0,u>: Cost 2 vuzpr LHS, <3,0,1,u>
+    2819850330U, // <1,3,1,0>: Cost 3 vuzpr LHS, <0,1,1,0>
+    1745666868U, // <1,3,1,1>: Cost 2 vuzpr LHS, <1,1,1,1>
+    2819850332U, // <1,3,1,2>: Cost 3 vuzpr LHS, <0,1,1,2>
+    671924326U,  // <1,3,1,3>: Cost 1 vuzpr LHS, LHS
+    2958181274U, // <1,3,1,4>: Cost 3 vzipr <0,u,1,1>, <1,2,3,4>
+    2819850335U, // <1,3,1,5>: Cost 3 vuzpr LHS, <0,1,1,5>
+    2867183739U, // <1,3,1,6>: Cost 3 vuzpr LHS, <0,1,4,6>
+    2958181520U, // <1,3,1,7>: Cost 3 vzipr <0,u,1,1>, <1,5,3,7>
+    671924331U,  // <1,3,1,u>: Cost 1 vuzpr LHS, LHS
+    1745666966U, // <1,3,2,0>: Cost 2 vuzpr LHS, <1,2,3,0>
+    2819408044U, // <1,3,2,1>: Cost 3 vuzpr LHS, <0,2,1,1>
+    1745666212U, // <1,3,2,2>: Cost 2 vuzpr LHS, <0,2,0,2>
+    1746110066U, // <1,3,2,3>: Cost 2 vuzpr LHS, <2,2,3,3>
+    1745666970U, // <1,3,2,4>: Cost 2 vuzpr LHS, <1,2,3,4>
+    2819408066U, // <1,3,2,5>: Cost 3 vuzpr LHS, <0,2,3,5>
+    1745666252U, // <1,3,2,6>: Cost 2 vuzpr LHS, <0,2,4,6>
+    2970797200U, // <1,3,2,7>: Cost 3 vzipr <3,0,1,2>, <1,5,3,7>
+    1745666218U, // <1,3,2,u>: Cost 2 vuzpr LHS, <0,2,0,u>
     1483276390U, // <1,3,3,0>: Cost 2 vext1 <1,1,3,3>, LHS
-    1483277128U, // <1,3,3,1>: Cost 2 vext1 <1,1,3,3>, <1,1,3,3>
-    2557019752U, // <1,3,3,2>: Cost 3 vext1 <1,1,3,3>, <2,2,2,2>
-    2819408856U, // <1,3,3,3>: Cost 3 vuzpr LHS, <1,3,1,3>
+    1745667750U, // <1,3,3,1>: Cost 2 vuzpr LHS, <2,3,0,1>
+    2819408846U, // <1,3,3,2>: Cost 3 vuzpr LHS, <1,3,0,2>
+    1745667032U, // <1,3,3,3>: Cost 2 vuzpr LHS, <1,3,1,3>
     1483279670U, // <1,3,3,4>: Cost 2 vext1 <1,1,3,3>, RHS
-    2819409614U, // <1,3,3,5>: Cost 3 vuzpr LHS, <2,3,4,5>
-    2598826490U, // <1,3,3,6>: Cost 3 vext1 <u,1,3,3>, <6,2,7,3>
-    3087844352U, // <1,3,3,7>: Cost 3 vtrnr LHS, <1,3,5,7>
-    1483282222U, // <1,3,3,u>: Cost 2 vext1 <1,1,3,3>, LHS
+    1745667790U, // <1,3,3,5>: Cost 2 vuzpr LHS, <2,3,4,5>
+    2819408868U, // <1,3,3,6>: Cost 3 vuzpr LHS, <1,3,2,6>
+    2014102528U, // <1,3,3,7>: Cost 2 vtrnr LHS, <1,3,5,7>
+    1745667037U, // <1,3,3,u>: Cost 2 vuzpr LHS, <1,3,1,u>
     2568970342U, // <1,3,4,0>: Cost 3 vext1 <3,1,3,4>, LHS
-    2568971224U, // <1,3,4,1>: Cost 3 vext1 <3,1,3,4>, <1,3,1,3>
-    3832761290U, // <1,3,4,2>: Cost 4 vuzpl <1,2,3,4>, <4,1,2,3>
+    2759019375U, // <1,3,4,1>: Cost 3 vuzpl <1,2,3,4>, <4,0,1,2>
+    2759019466U, // <1,3,4,2>: Cost 3 vuzpl <1,2,3,4>, <4,1,2,3>
     2233428219U, // <1,3,4,3>: Cost 3 vrev <3,1,3,4>
-    2568973622U, // <1,3,4,4>: Cost 3 vext1 <3,1,3,4>, RHS
-    1551568182U, // <1,3,4,5>: Cost 2 vext2 <1,3,1,3>, RHS
-    2819410434U, // <1,3,4,6>: Cost 3 vuzpr LHS, <3,4,5,6>
-    3666605151U, // <1,3,4,7>: Cost 4 vext1 <7,1,3,4>, <7,1,3,4>
-    1551568425U, // <1,3,4,u>: Cost 2 vext2 <1,3,1,3>, RHS
-    2563006566U, // <1,3,5,0>: Cost 3 vext1 <2,1,3,5>, LHS
-    2568979456U, // <1,3,5,1>: Cost 3 vext1 <3,1,3,5>, <1,3,5,7>
-    2563008035U, // <1,3,5,2>: Cost 3 vext1 <2,1,3,5>, <2,1,3,5>
-    2233436412U, // <1,3,5,3>: Cost 3 vrev <3,1,3,5>
-    2563009846U, // <1,3,5,4>: Cost 3 vext1 <2,1,3,5>, RHS
-    2867187716U, // <1,3,5,5>: Cost 3 vuzpr LHS, <5,5,5,5>
-    2655834214U, // <1,3,5,6>: Cost 3 vext2 <6,4,1,3>, <5,6,7,4>
-    1745669430U, // <1,3,5,7>: Cost 2 vuzpr LHS, RHS
-    1745669431U, // <1,3,5,u>: Cost 2 vuzpr LHS, RHS
-    2867187810U, // <1,3,6,0>: Cost 3 vuzpr LHS, <5,6,7,0>
-    3699052931U, // <1,3,6,1>: Cost 4 vext2 <1,3,1,3>, <6,1,3,1>
-    2654507460U, // <1,3,6,2>: Cost 3 vext2 <6,2,1,3>, <6,2,1,3>
-    3766291091U, // <1,3,6,3>: Cost 4 vext3 <1,3,3,1>, <3,6,3,7>
-    2655834726U, // <1,3,6,4>: Cost 3 vext2 <6,4,1,3>, <6,4,1,3>
-    3923384562U, // <1,3,6,5>: Cost 4 vuzpr <5,1,7,3>, <u,6,7,5>
-    2657161992U, // <1,3,6,6>: Cost 3 vext2 <6,6,1,3>, <6,6,1,3>
-    2819852218U, // <1,3,6,7>: Cost 3 vuzpr LHS, <2,6,3,7>
-    2819852219U, // <1,3,6,u>: Cost 3 vuzpr LHS, <2,6,3,u>
+    1793445072U, // <1,3,4,4>: Cost 2 vuzpr LHS, <4,4,4,4>
+    1746108754U, // <1,3,4,5>: Cost 2 vuzpr LHS, <0,4,1,5>
+    1745668610U, // <1,3,4,6>: Cost 2 vuzpr LHS, <3,4,5,6>
+    2592863327U, // <1,3,4,7>: Cost 3 vext1 <7,1,3,4>, <7,1,3,4>
+    1745668612U, // <1,3,4,u>: Cost 2 vuzpr LHS, <3,4,5,u>
+    2955559830U, // <1,3,5,0>: Cost 3 vzipr <0,4,1,5>, <1,2,3,0>
+    3028289686U, // <1,3,5,1>: Cost 3 vtrnl <1,3,5,7>, <3,0,1,2>
+    2955559670U, // <1,3,5,2>: Cost 3 vzipr <0,4,1,5>, <1,0,3,2>
+    2955559752U, // <1,3,5,3>: Cost 3 vzipr <0,4,1,5>, <1,1,3,3>
+    2955559834U, // <1,3,5,4>: Cost 3 vzipr <0,4,1,5>, <1,2,3,4>
+    1793445892U, // <1,3,5,5>: Cost 2 vuzpr LHS, <5,5,5,5>
+    2819852136U, // <1,3,5,6>: Cost 3 vuzpr LHS, <2,5,3,6>
+    671927606U,  // <1,3,5,7>: Cost 1 vuzpr LHS, RHS
+    671927607U,  // <1,3,5,u>: Cost 1 vuzpr LHS, RHS
+    1793445986U, // <1,3,6,0>: Cost 2 vuzpr LHS, <5,6,7,0>
+    2867185561U, // <1,3,6,1>: Cost 3 vuzpr LHS, <2,6,0,1>
+    1793445196U, // <1,3,6,2>: Cost 2 vuzpr LHS, <4,6,0,2>
+    2867185572U, // <1,3,6,3>: Cost 3 vuzpr LHS, <2,6,1,3>
+    1793445990U, // <1,3,6,4>: Cost 2 vuzpr LHS, <5,6,7,4>
+    2849642738U, // <1,3,6,5>: Cost 3 vuzpr <5,1,7,3>, <u,6,7,5>
+    1793445236U, // <1,3,6,6>: Cost 2 vuzpr LHS, <4,6,4,6>
+    1746110394U, // <1,3,6,7>: Cost 2 vuzpr LHS, <2,6,3,7>
+    1746110395U, // <1,3,6,u>: Cost 2 vuzpr LHS, <2,6,3,u>
     2706926275U, // <1,3,7,0>: Cost 3 vext3 <3,7,0,1>, <3,7,0,1>
-    2659816524U, // <1,3,7,1>: Cost 3 vext2 <7,1,1,3>, <7,1,1,3>
-    3636766245U, // <1,3,7,2>: Cost 4 vext1 <2,1,3,7>, <2,1,3,7>
-    2867187903U, // <1,3,7,3>: Cost 3 vuzpr LHS, <5,7,u,3>
-    2625312102U, // <1,3,7,4>: Cost 3 vext2 <1,3,1,3>, <7,4,5,6>
-    2867188598U, // <1,3,7,5>: Cost 3 vuzpr LHS, <6,7,4,5>
-    3728250344U, // <1,3,7,6>: Cost 4 vext2 <6,2,1,3>, <7,6,2,1>
-    2867187880U, // <1,3,7,7>: Cost 3 vuzpr LHS, <5,7,5,7>
-    2707516171U, // <1,3,7,u>: Cost 3 vext3 <3,7,u,1>, <3,7,u,1>
-    1483317350U, // <1,3,u,0>: Cost 2 vext1 <1,1,3,u>, LHS
-    1483318093U, // <1,3,u,1>: Cost 2 vext1 <1,1,3,u>, <1,1,3,u>
-    2819410718U, // <1,3,u,2>: Cost 3 vuzpr LHS, <3,u,1,2>
-    1745666717U, // <1,3,u,3>: Cost 2 vuzpr LHS, LHS
-    1483320630U, // <1,3,u,4>: Cost 2 vext1 <1,1,3,u>, RHS
-    1551571098U, // <1,3,u,5>: Cost 2 vext2 <1,3,1,3>, RHS
-    2819410758U, // <1,3,u,6>: Cost 3 vuzpr LHS, <3,u,5,6>
-    1745669673U, // <1,3,u,7>: Cost 2 vuzpr LHS, RHS
-    1745666722U, // <1,3,u,u>: Cost 2 vuzpr LHS, LHS
+    1793446734U, // <1,3,7,1>: Cost 2 vuzpr LHS, <6,7,0,1>
+    2867187830U, // <1,3,7,2>: Cost 3 vuzpr LHS, <5,7,0,2>
+    1793446016U, // <1,3,7,3>: Cost 2 vuzpr LHS, <5,7,1,3>
+    2849637679U, // <1,3,7,4>: Cost 3 vuzpr <5,1,7,3>, <1,7,3,4>
+    1793446774U, // <1,3,7,5>: Cost 2 vuzpr LHS, <6,7,4,5>
+    2867185674U, // <1,3,7,6>: Cost 3 vuzpr LHS, <2,7,3,6>
+    1793446056U, // <1,3,7,7>: Cost 2 vuzpr LHS, <5,7,5,7>
+    1793446021U, // <1,3,7,u>: Cost 2 vuzpr LHS, <5,7,1,u>
+    1746109820U, // <1,3,u,0>: Cost 2 vuzpr LHS, <1,u,3,0>
+    2014144166U, // <1,3,u,1>: Cost 2 vtrnr LHS, <2,3,0,1>
+    1745668894U, // <1,3,u,2>: Cost 2 vuzpr LHS, <3,u,1,2>
+    671924893U,  // <1,3,u,3>: Cost 1 vuzpr LHS, LHS
+    1746109824U, // <1,3,u,4>: Cost 2 vuzpr LHS, <1,u,3,4>
+    2014144206U, // <1,3,u,5>: Cost 2 vtrnr LHS, <2,3,4,5>
+    1745668934U, // <1,3,u,6>: Cost 2 vuzpr LHS, <3,u,5,6>
+    671927849U,  // <1,3,u,7>: Cost 1 vuzpr LHS, RHS
+    671924898U,  // <1,3,u,u>: Cost 1 vuzpr LHS, LHS
     2617352205U, // <1,4,0,0>: Cost 3 vext2 <0,0,1,4>, <0,0,1,4>
     2619342950U, // <1,4,0,1>: Cost 3 vext2 <0,3,1,4>, LHS
-    3692421295U, // <1,4,0,2>: Cost 4 vext2 <0,2,1,4>, <0,2,1,4>
+    2758434918U, // <1,4,0,2>: Cost 3 vuzpl <1,1,4,5>, LHS
     2619343104U, // <1,4,0,3>: Cost 3 vext2 <0,3,1,4>, <0,3,1,4>
     2617352530U, // <1,4,0,4>: Cost 3 vext2 <0,0,1,4>, <0,4,1,5>
-    1634880402U, // <1,4,0,5>: Cost 2 vext3 <4,0,5,1>, <4,0,5,1>
-    2713930652U, // <1,4,0,6>: Cost 3 vext3 <4,u,5,1>, <4,0,6,2>
-    3732898396U, // <1,4,0,7>: Cost 4 vext2 <7,0,1,4>, <0,7,4,1>
-    1635101613U, // <1,4,0,u>: Cost 2 vext3 <4,0,u,1>, <4,0,u,1>
-    3693085430U, // <1,4,1,0>: Cost 4 vext2 <0,3,1,4>, <1,0,3,2>
+    1818152246U, // <1,4,0,5>: Cost 2 vzipl <1,0,3,2>, RHS
+    3026537782U, // <1,4,0,6>: Cost 3 vtrnl <1,1,0,0>, RHS
+    2621997636U, // <1,4,0,7>: Cost 3 vext2 <0,7,1,4>, <0,7,1,4>
+    1818152489U, // <1,4,0,u>: Cost 2 vzipl <1,0,3,2>, RHS
+    2892401554U, // <1,4,1,0>: Cost 3 vzipl <1,1,1,1>, <4,0,5,1>
     2623988535U, // <1,4,1,1>: Cost 3 vext2 <1,1,1,4>, <1,1,1,4>
     3693085590U, // <1,4,1,2>: Cost 4 vext2 <0,3,1,4>, <1,2,3,0>
-    3692422134U, // <1,4,1,3>: Cost 4 vext2 <0,2,1,4>, <1,3,4,6>
-    3693085726U, // <1,4,1,4>: Cost 4 vext2 <0,3,1,4>, <1,4,0,1>
-    2892401974U, // <1,4,1,5>: Cost 3 vzipl <1,1,1,1>, RHS
-    3026619702U, // <1,4,1,6>: Cost 3 vtrnl <1,1,1,1>, RHS
-    3800206324U, // <1,4,1,7>: Cost 4 vext3 <7,0,4,1>, <4,1,7,0>
-    2892402217U, // <1,4,1,u>: Cost 3 vzipl <1,1,1,1>, RHS
-    3966978927U, // <1,4,2,0>: Cost 4 vzipl <1,2,3,4>, <4,0,1,2>
-    3966979018U, // <1,4,2,1>: Cost 4 vzipl <1,2,3,4>, <4,1,2,3>
+    2825314406U, // <1,4,1,3>: Cost 3 vuzpr <1,1,1,4>, LHS
+    2825315127U, // <1,4,1,4>: Cost 3 vuzpr <1,1,1,4>, <1,1,1,4>
+    1818660150U, // <1,4,1,5>: Cost 2 vzipl <1,1,1,1>, RHS
+    1952877878U, // <1,4,1,6>: Cost 2 vtrnl <1,1,1,1>, RHS
+    3899056990U, // <1,4,1,7>: Cost 4 vuzpr <1,1,1,4>, <1,1,5,7>
+    1818660393U, // <1,4,1,u>: Cost 2 vzipl <1,1,1,1>, RHS
+    2893237103U, // <1,4,2,0>: Cost 3 vzipl <1,2,3,4>, <4,0,1,2>
+    2893237194U, // <1,4,2,1>: Cost 3 vzipl <1,2,3,4>, <4,1,2,3>
     3693086312U, // <1,4,2,2>: Cost 4 vext2 <0,3,1,4>, <2,2,2,2>
     2635269798U, // <1,4,2,3>: Cost 3 vext2 <3,0,1,4>, <2,3,0,1>
-    3966979280U, // <1,4,2,4>: Cost 4 vzipl <1,2,3,4>, <4,4,4,4>
-    2893204790U, // <1,4,2,5>: Cost 3 vzipl <1,2,3,0>, RHS
-    3693086650U, // <1,4,2,6>: Cost 4 vext2 <0,3,1,4>, <2,6,3,7>
-    3666662502U, // <1,4,2,7>: Cost 4 vext1 <7,1,4,2>, <7,1,4,2>
-    2893205033U, // <1,4,2,u>: Cost 3 vzipl <1,2,3,0>, RHS
+    2893237467U, // <1,4,2,4>: Cost 3 vzipl <1,2,3,4>, <4,4,5,6>
+    1819462966U, // <1,4,2,5>: Cost 2 vzipl <1,2,3,0>, RHS
+    3028012342U, // <1,4,2,6>: Cost 3 vtrnl <1,3,2,0>, RHS
+    4044539762U, // <1,4,2,7>: Cost 4 vzipr <3,0,1,2>, <2,5,4,7>
+    1819463209U, // <1,4,2,u>: Cost 2 vzipl <1,2,3,0>, RHS
     2563063910U, // <1,4,3,0>: Cost 3 vext1 <2,1,4,3>, LHS
-    2563064730U, // <1,4,3,1>: Cost 3 vext1 <2,1,4,3>, <1,2,3,4>
-    2563065386U, // <1,4,3,2>: Cost 3 vext1 <2,1,4,3>, <2,1,4,3>
-    3693087132U, // <1,4,3,3>: Cost 4 vext2 <0,3,1,4>, <3,3,3,3>
-    2619345410U, // <1,4,3,4>: Cost 3 vext2 <0,3,1,4>, <3,4,5,6>
-    3087843666U, // <1,4,3,5>: Cost 3 vtrnr LHS, <0,4,1,5>
-    3087843676U, // <1,4,3,6>: Cost 3 vtrnr LHS, <0,4,2,6>
-    3666670695U, // <1,4,3,7>: Cost 4 vext1 <7,1,4,3>, <7,1,4,3>
-    3087843669U, // <1,4,3,u>: Cost 3 vtrnr LHS, <0,4,1,u>
-    2620672914U, // <1,4,4,0>: Cost 3 vext2 <0,5,1,4>, <4,0,5,1>
-    3630842706U, // <1,4,4,1>: Cost 4 vext1 <1,1,4,4>, <1,1,4,4>
-    3313069003U, // <1,4,4,2>: Cost 4 vrev <4,1,2,4>
-    3642788100U, // <1,4,4,3>: Cost 4 vext1 <3,1,4,4>, <3,1,4,4>
+    3027454831U, // <1,4,3,1>: Cost 3 vtrnl <1,2,3,4>, <4,0,1,2>
+    3027454922U, // <1,4,3,2>: Cost 3 vtrnl <1,2,3,4>, <4,1,2,3>
+    2837406680U, // <1,4,3,3>: Cost 3 vuzpr <3,1,3,4>, <1,3,1,3>
+    2061880528U, // <1,4,3,4>: Cost 2 vtrnr LHS, <4,4,4,4>
+    2014101842U, // <1,4,3,5>: Cost 2 vtrnr LHS, <0,4,1,5>
+    2014101852U, // <1,4,3,6>: Cost 2 vtrnr LHS, <0,4,2,6>
+    3135620906U, // <1,4,3,7>: Cost 3 vtrnr LHS, <2,4,5,7>
+    2014101845U, // <1,4,3,u>: Cost 2 vtrnr LHS, <0,4,1,u>
+    2708622509U, // <1,4,4,0>: Cost 3 vext3 <4,0,5,1>, <4,4,0,5>
+    4029959778U, // <1,4,4,1>: Cost 4 vzipr <0,5,1,4>, <5,0,4,1>
+    3833482186U, // <1,4,4,2>: Cost 4 vuzpl <1,3,4,2>, <4,1,2,3>
+    4028629922U, // <1,4,4,3>: Cost 4 vzipr <0,3,1,4>, <1,2,4,3>
     2713930960U, // <1,4,4,4>: Cost 3 vext3 <4,u,5,1>, <4,4,4,4>
     2619346230U, // <1,4,4,5>: Cost 3 vext2 <0,3,1,4>, RHS
-    2713930980U, // <1,4,4,6>: Cost 3 vext3 <4,u,5,1>, <4,4,6,6>
-    3736882642U, // <1,4,4,7>: Cost 4 vext2 <7,6,1,4>, <4,7,6,1>
+    2758438198U, // <1,4,4,6>: Cost 3 vuzpl <1,1,4,5>, RHS
+    4167492689U, // <1,4,4,7>: Cost 4 vtrnr <1,1,1,4>, <1,4,5,7>
     2619346473U, // <1,4,4,u>: Cost 3 vext2 <0,3,1,4>, RHS
     2557108326U, // <1,4,5,0>: Cost 3 vext1 <1,1,4,5>, LHS
-    2557109075U, // <1,4,5,1>: Cost 3 vext1 <1,1,4,5>, <1,1,4,5>
-    2598913774U, // <1,4,5,2>: Cost 3 vext1 <u,1,4,5>, <2,3,u,1>
-    3630852246U, // <1,4,5,3>: Cost 4 vext1 <1,1,4,5>, <3,0,1,2>
+    2955558949U, // <1,4,5,1>: Cost 3 vzipr <0,4,1,5>, <0,0,4,1>
+    2551137958U, // <1,4,5,2>: Cost 3 vext1 <0,1,4,5>, <2,3,0,1>
+    4029303043U, // <1,4,5,3>: Cost 4 vzipr <0,4,1,5>, <3,1,4,3>
     2557111606U, // <1,4,5,4>: Cost 3 vext1 <1,1,4,5>, RHS
-    2895252790U, // <1,4,5,5>: Cost 3 vzipl <1,5,3,7>, RHS
+    1821510966U, // <1,4,5,5>: Cost 2 vzipl <1,5,3,7>, RHS
     1616006454U, // <1,4,5,6>: Cost 2 vext3 <0,u,1,1>, RHS
-    3899059510U, // <1,4,5,7>: Cost 4 vuzpr <1,1,1,4>, RHS
+    2825317686U, // <1,4,5,7>: Cost 3 vuzpr <1,1,1,4>, RHS
     1616006472U, // <1,4,5,u>: Cost 2 vext3 <0,u,1,1>, RHS
     2557116518U, // <1,4,6,0>: Cost 3 vext1 <1,1,4,6>, LHS
-    2557117236U, // <1,4,6,1>: Cost 3 vext1 <1,1,4,6>, <1,1,1,1>
-    3630859880U, // <1,4,6,2>: Cost 4 vext1 <1,1,4,6>, <2,2,2,2>
-    2569062550U, // <1,4,6,3>: Cost 3 vext1 <3,1,4,6>, <3,0,1,2>
+    2557117268U, // <1,4,6,1>: Cost 3 vext1 <1,1,4,6>, <1,1,4,6>
+    2698300764U, // <1,4,6,2>: Cost 3 vext3 <2,3,0,1>, <4,6,2,0>
+    2569062662U, // <1,4,6,3>: Cost 3 vext1 <3,1,4,6>, <3,1,4,6>
     2557119798U, // <1,4,6,4>: Cost 3 vext1 <1,1,4,6>, RHS
-    3763490174U, // <1,4,6,5>: Cost 4 vext3 <0,u,1,1>, <4,6,5,7>
-    3763490183U, // <1,4,6,6>: Cost 4 vext3 <0,u,1,1>, <4,6,6,7>
+    2895768886U, // <1,4,6,5>: Cost 3 vzipl <1,6,1,7>, RHS
+    3028364598U, // <1,4,6,6>: Cost 3 vtrnl <1,3,6,7>, RHS
     2712751498U, // <1,4,6,7>: Cost 3 vext3 <4,6,7,1>, <4,6,7,1>
     2557122350U, // <1,4,6,u>: Cost 3 vext1 <1,1,4,6>, LHS
     2659161084U, // <1,4,7,0>: Cost 3 vext2 <7,0,1,4>, <7,0,1,4>
-    3732903040U, // <1,4,7,1>: Cost 4 vext2 <7,0,1,4>, <7,1,7,1>
+    3834844154U, // <1,4,7,1>: Cost 4 vuzpl <1,5,4,6>, <7,0,1,2>
     3734230174U, // <1,4,7,2>: Cost 4 vext2 <7,2,1,4>, <7,2,1,4>
-    3734893807U, // <1,4,7,3>: Cost 4 vext2 <7,3,1,4>, <7,3,1,4>
-    3660729654U, // <1,4,7,4>: Cost 4 vext1 <6,1,4,7>, RHS
-    3786493384U, // <1,4,7,5>: Cost 4 vext3 <4,6,7,1>, <4,7,5,0>
+    2861297792U, // <1,4,7,3>: Cost 3 vuzpr <7,1,3,4>, <5,7,1,3>
+    2669778278U, // <1,4,7,4>: Cost 3 vext2 <u,7,1,4>, <7,4,5,6>
+    2896522550U, // <1,4,7,5>: Cost 3 vzipl <1,7,3,0>, RHS
     2713341394U, // <1,4,7,6>: Cost 3 vext3 <4,7,6,1>, <4,7,6,1>
-    3660731386U, // <1,4,7,7>: Cost 4 vext1 <6,1,4,7>, <7,0,1,2>
-    2664470148U, // <1,4,7,u>: Cost 3 vext2 <7,u,1,4>, <7,u,1,4>
+    3834844780U, // <1,4,7,7>: Cost 4 vuzpl <1,5,4,6>, <7,7,7,7>
+    2713488868U, // <1,4,7,u>: Cost 3 vext3 <4,7,u,1>, <4,7,u,1>
     2557132902U, // <1,4,u,0>: Cost 3 vext1 <1,1,4,u>, LHS
     2619348782U, // <1,4,u,1>: Cost 3 vext2 <0,3,1,4>, LHS
-    2563106351U, // <1,4,u,2>: Cost 3 vext1 <2,1,4,u>, <2,1,4,u>
-    2713783816U, // <1,4,u,3>: Cost 3 vext3 <4,u,3,1>, <4,u,3,1>
-    2622666815U, // <1,4,u,4>: Cost 3 vext2 <0,u,1,4>, <u,4,5,6>
-    1640189466U, // <1,4,u,5>: Cost 2 vext3 <4,u,5,1>, <4,u,5,1>
-    1616006697U, // <1,4,u,6>: Cost 2 vext3 <0,u,1,1>, RHS
-    2712751498U, // <1,4,u,7>: Cost 3 vext3 <4,6,7,1>, <4,6,7,1>
-    1616006715U, // <1,4,u,u>: Cost 2 vext3 <0,u,1,1>, RHS
+    2758440750U, // <1,4,u,2>: Cost 3 vuzpl <1,1,4,5>, LHS
+    2825314973U, // <1,4,u,3>: Cost 3 vuzpr <1,1,1,4>, LHS
+    2061921488U, // <1,4,u,4>: Cost 2 vtrnr LHS, <4,4,4,4>
+    2014142802U, // <1,4,u,5>: Cost 2 vtrnr LHS, <0,4,1,5>
+    2014142812U, // <1,4,u,6>: Cost 2 vtrnr LHS, <0,4,2,6>
+    2825317929U, // <1,4,u,7>: Cost 3 vuzpr <1,1,1,4>, RHS
+    2014142805U, // <1,4,u,u>: Cost 2 vtrnr LHS, <0,4,1,u>
     2620014592U, // <1,5,0,0>: Cost 3 vext2 <0,4,1,5>, <0,0,0,0>
     1546272870U, // <1,5,0,1>: Cost 2 vext2 <0,4,1,5>, LHS
-    2618687664U, // <1,5,0,2>: Cost 3 vext2 <0,2,1,5>, <0,2,1,5>
-    3693093120U, // <1,5,0,3>: Cost 4 vext2 <0,3,1,5>, <0,3,1,4>
+    1686110310U, // <1,5,0,2>: Cost 2 vuzpl <1,3,5,7>, LHS
+    3693093121U, // <1,5,0,3>: Cost 4 vext2 <0,3,1,5>, <0,3,1,5>
     1546273106U, // <1,5,0,4>: Cost 2 vext2 <0,4,1,5>, <0,4,1,5>
     2620678563U, // <1,5,0,5>: Cost 3 vext2 <0,5,1,5>, <0,5,1,5>
-    2714668660U, // <1,5,0,6>: Cost 3 vext3 <5,0,6,1>, <5,0,6,1>
-    3772042877U, // <1,5,0,7>: Cost 4 vext3 <2,3,0,1>, <5,0,7,1>
+    2891894882U, // <1,5,0,6>: Cost 3 vzipl <1,0,3,2>, <5,6,7,0>
+    3093646646U, // <1,5,0,7>: Cost 3 vtrnr <1,1,0,0>, RHS
     1546273437U, // <1,5,0,u>: Cost 2 vext2 <0,4,1,5>, LHS
     2620015350U, // <1,5,1,0>: Cost 3 vext2 <0,4,1,5>, <1,0,3,2>
     2620015412U, // <1,5,1,1>: Cost 3 vext2 <0,4,1,5>, <1,1,1,1>
     2620015510U, // <1,5,1,2>: Cost 3 vext2 <0,4,1,5>, <1,2,3,0>
-    2618688512U, // <1,5,1,3>: Cost 3 vext2 <0,2,1,5>, <1,3,5,7>
+    2819424358U, // <1,5,1,3>: Cost 3 vuzpr <0,1,2,5>, LHS
     2620015677U, // <1,5,1,4>: Cost 3 vext2 <0,4,1,5>, <1,4,3,5>
-    2620015727U, // <1,5,1,5>: Cost 3 vext2 <0,4,1,5>, <1,5,0,1>
-    2620015859U, // <1,5,1,6>: Cost 3 vext2 <0,4,1,5>, <1,6,5,7>
-    3093728566U, // <1,5,1,7>: Cost 3 vtrnr <1,1,1,1>, RHS
-    2620015981U, // <1,5,1,u>: Cost 3 vext2 <0,4,1,5>, <1,u,1,3>
-    3692430816U, // <1,5,2,0>: Cost 4 vext2 <0,2,1,5>, <2,0,5,1>
+    1686111232U, // <1,5,1,5>: Cost 2 vuzpl <1,3,5,7>, <1,3,5,7>
+    2958181456U, // <1,5,1,6>: Cost 3 vzipr <0,u,1,1>, <1,4,5,6>
+    2019986742U, // <1,5,1,7>: Cost 2 vtrnr <1,1,1,1>, RHS
+    2019986743U, // <1,5,1,u>: Cost 2 vtrnr <1,1,1,1>, RHS
+    2759853734U, // <1,5,2,0>: Cost 3 vuzpl <1,3,5,7>, <2,3,0,1>
     2620016163U, // <1,5,2,1>: Cost 3 vext2 <0,4,1,5>, <2,1,3,5>
     2620016232U, // <1,5,2,2>: Cost 3 vext2 <0,4,1,5>, <2,2,2,2>
     2620016294U, // <1,5,2,3>: Cost 3 vext2 <0,4,1,5>, <2,3,0,1>
-    3693758221U, // <1,5,2,4>: Cost 4 vext2 <0,4,1,5>, <2,4,2,5>
-    3692431209U, // <1,5,2,5>: Cost 4 vext2 <0,2,1,5>, <2,5,3,7>
+    2759853774U, // <1,5,2,4>: Cost 3 vuzpl <1,3,5,7>, <2,3,4,5>
+    2994687194U, // <1,5,2,5>: Cost 3 vzipr <7,0,1,2>, <4,4,5,5>
     2620016570U, // <1,5,2,6>: Cost 3 vext2 <0,4,1,5>, <2,6,3,7>
-    4173598006U, // <1,5,2,7>: Cost 4 vtrnr <2,1,3,2>, RHS
+    3094252854U, // <1,5,2,7>: Cost 3 vtrnr <1,1,u,2>, RHS
     2620016699U, // <1,5,2,u>: Cost 3 vext2 <0,4,1,5>, <2,u,0,1>
     2620016790U, // <1,5,3,0>: Cost 3 vext2 <0,4,1,5>, <3,0,1,2>
-    2569110672U, // <1,5,3,1>: Cost 3 vext1 <3,1,5,3>, <1,5,3,7>
-    3693758785U, // <1,5,3,2>: Cost 4 vext2 <0,4,1,5>, <3,2,2,2>
+    2759854230U, // <1,5,3,1>: Cost 3 vuzpl <1,3,5,7>, <3,0,1,2>
+    3135620208U, // <1,5,3,2>: Cost 3 vtrnr LHS, <1,5,0,2>
     2620017052U, // <1,5,3,3>: Cost 3 vext2 <0,4,1,5>, <3,3,3,3>
     2620017154U, // <1,5,3,4>: Cost 3 vext2 <0,4,1,5>, <3,4,5,6>
-    3135623172U, // <1,5,3,5>: Cost 3 vtrnr LHS, <5,5,5,5>
-    4161587048U, // <1,5,3,6>: Cost 4 vtrnr LHS, <2,5,3,6>
-    2014104886U, // <1,5,3,7>: Cost 2 vtrnr LHS, RHS
-    2014104887U, // <1,5,3,u>: Cost 2 vtrnr LHS, RHS
+    2061881348U, // <1,5,3,5>: Cost 2 vtrnr LHS, <5,5,5,5>
+    3087845224U, // <1,5,3,6>: Cost 3 vtrnr LHS, <2,5,3,6>
+    940363062U,  // <1,5,3,7>: Cost 1 vtrnr LHS, RHS
+    940363063U,  // <1,5,3,u>: Cost 1 vtrnr LHS, RHS
     2620017554U, // <1,5,4,0>: Cost 3 vext2 <0,4,1,5>, <4,0,5,1>
     2620017634U, // <1,5,4,1>: Cost 3 vext2 <0,4,1,5>, <4,1,5,0>
     3693759551U, // <1,5,4,2>: Cost 4 vext2 <0,4,1,5>, <4,2,6,3>
-    3642861837U, // <1,5,4,3>: Cost 4 vext1 <3,1,5,4>, <3,1,5,4>
+    4101942957U, // <1,5,4,3>: Cost 4 vtrnl <1,3,4,5>, <5,1,3,4>
     2575092710U, // <1,5,4,4>: Cost 3 vext1 <4,1,5,4>, <4,1,5,4>
     1546276150U, // <1,5,4,5>: Cost 2 vext2 <0,4,1,5>, RHS
-    2759855414U, // <1,5,4,6>: Cost 3 vuzpl <1,3,5,7>, RHS
-    2713931718U, // <1,5,4,7>: Cost 3 vext3 <4,u,5,1>, <5,4,7,6>
+    1686113590U, // <1,5,4,6>: Cost 2 vuzpl <1,3,5,7>, RHS
+    3093753142U, // <1,5,4,7>: Cost 3 vtrnr <1,1,1,4>, RHS
     1546276393U, // <1,5,4,u>: Cost 2 vext2 <0,4,1,5>, RHS
-    2557182054U, // <1,5,5,0>: Cost 3 vext1 <1,1,5,5>, LHS
-    2557182812U, // <1,5,5,1>: Cost 3 vext1 <1,1,5,5>, <1,1,5,5>
-    3630925347U, // <1,5,5,2>: Cost 4 vext1 <1,1,5,5>, <2,1,3,5>
-    4029301675U, // <1,5,5,3>: Cost 4 vzipr <0,4,1,5>, <1,2,5,3>
-    2557185334U, // <1,5,5,4>: Cost 3 vext1 <1,1,5,5>, RHS
-    2713931780U, // <1,5,5,5>: Cost 3 vext3 <4,u,5,1>, <5,5,5,5>
-    2667794530U, // <1,5,5,6>: Cost 3 vext2 <u,4,1,5>, <5,6,7,0>
-    2713931800U, // <1,5,5,7>: Cost 3 vext3 <4,u,5,1>, <5,5,7,7>
-    2557187886U, // <1,5,5,u>: Cost 3 vext1 <1,1,5,5>, LHS
+    2955561954U, // <1,5,5,0>: Cost 3 vzipr <0,4,1,5>, <4,1,5,0>
+    2955561874U, // <1,5,5,1>: Cost 3 vzipr <0,4,1,5>, <4,0,5,1>
+    4029301674U, // <1,5,5,2>: Cost 4 vzipr <0,4,1,5>, <1,2,5,2>
+    2955559851U, // <1,5,5,3>: Cost 3 vzipr <0,4,1,5>, <1,2,5,3>
+    2955561958U, // <1,5,5,4>: Cost 3 vzipr <0,4,1,5>, <4,1,5,4>
+    2620018692U, // <1,5,5,5>: Cost 3 vext2 <0,4,1,5>, <5,5,5,5>
+    2955561474U, // <1,5,5,6>: Cost 3 vzipr <0,4,1,5>, <3,4,5,6>
+    2819427638U, // <1,5,5,7>: Cost 3 vuzpr <0,1,2,5>, RHS
+    2819427639U, // <1,5,5,u>: Cost 3 vuzpr <0,1,2,5>, RHS
     2718208036U, // <1,5,6,0>: Cost 3 vext3 <5,6,0,1>, <5,6,0,1>
     2620019115U, // <1,5,6,1>: Cost 3 vext2 <0,4,1,5>, <6,1,7,5>
     2667794938U, // <1,5,6,2>: Cost 3 vext2 <u,4,1,5>, <6,2,7,3>
-    3787673666U, // <1,5,6,3>: Cost 4 vext3 <4,u,5,1>, <5,6,3,4>
-    3693761165U, // <1,5,6,4>: Cost 4 vext2 <0,4,1,5>, <6,4,5,6>
-    3319279297U, // <1,5,6,5>: Cost 4 vrev <5,1,5,6>
+    4029309867U, // <1,5,6,3>: Cost 4 vzipr <0,4,1,6>, <1,2,5,3>
+    2759857014U, // <1,5,6,4>: Cost 3 vuzpl <1,3,5,7>, <6,7,4,5>
+    4029309788U, // <1,5,6,5>: Cost 4 vzipr <0,4,1,6>, <1,1,5,5>
     2667795256U, // <1,5,6,6>: Cost 3 vext2 <u,4,1,5>, <6,6,6,6>
-    2713931874U, // <1,5,6,7>: Cost 3 vext3 <4,u,5,1>, <5,6,7,0>
-    2713931883U, // <1,5,6,u>: Cost 3 vext3 <4,u,5,1>, <5,6,u,0>
+    3093990710U, // <1,5,6,7>: Cost 3 vtrnr <1,1,4,6>, RHS
+    3093990711U, // <1,5,6,u>: Cost 3 vtrnr <1,1,4,6>, RHS
     2557198438U, // <1,5,7,0>: Cost 3 vext1 <1,1,5,7>, LHS
-    2557199156U, // <1,5,7,1>: Cost 3 vext1 <1,1,5,7>, <1,1,1,1>
+    2557199198U, // <1,5,7,1>: Cost 3 vext1 <1,1,5,7>, <1,1,5,7>
     2569143974U, // <1,5,7,2>: Cost 3 vext1 <3,1,5,7>, <2,3,0,1>
-    2569144592U, // <1,5,7,3>: Cost 3 vext1 <3,1,5,7>, <3,1,5,7>
+    2759857248U, // <1,5,7,3>: Cost 3 vuzpl <1,3,5,7>, <7,1,3,5>
     2557201718U, // <1,5,7,4>: Cost 3 vext1 <1,1,5,7>, RHS
-    2713931944U, // <1,5,7,5>: Cost 3 vext3 <4,u,5,1>, <5,7,5,7>
-    3787673770U, // <1,5,7,6>: Cost 4 vext3 <4,u,5,1>, <5,7,6,0>
-    2719387828U, // <1,5,7,7>: Cost 3 vext3 <5,7,7,1>, <5,7,7,1>
+    2759857510U, // <1,5,7,5>: Cost 3 vuzpl <1,3,5,7>, <7,4,5,6>
+    2593035086U, // <1,5,7,6>: Cost 3 vext1 <7,1,5,7>, <6,7,0,1>
+    3094072630U, // <1,5,7,7>: Cost 3 vtrnr <1,1,5,7>, RHS
     2557204270U, // <1,5,7,u>: Cost 3 vext1 <1,1,5,7>, LHS
     2620020435U, // <1,5,u,0>: Cost 3 vext2 <0,4,1,5>, <u,0,1,2>
     1546278702U, // <1,5,u,1>: Cost 2 vext2 <0,4,1,5>, LHS
-    2620020616U, // <1,5,u,2>: Cost 3 vext2 <0,4,1,5>, <u,2,3,3>
-    2620020668U, // <1,5,u,3>: Cost 3 vext2 <0,4,1,5>, <u,3,0,1>
+    1686116142U, // <1,5,u,2>: Cost 2 vuzpl <1,3,5,7>, LHS
+    2819424925U, // <1,5,u,3>: Cost 3 vuzpr <0,1,2,5>, LHS
     1594054682U, // <1,5,u,4>: Cost 2 vext2 <u,4,1,5>, <u,4,1,5>
     1546279066U, // <1,5,u,5>: Cost 2 vext2 <0,4,1,5>, RHS
-    2620020944U, // <1,5,u,6>: Cost 3 vext2 <0,4,1,5>, <u,6,3,7>
-    2014145846U, // <1,5,u,7>: Cost 2 vtrnr LHS, RHS
-    2014145847U, // <1,5,u,u>: Cost 2 vtrnr LHS, RHS
-    3692437504U, // <1,6,0,0>: Cost 4 vext2 <0,2,1,6>, <0,0,0,0>
+    1686116506U, // <1,5,u,6>: Cost 2 vuzpl <1,3,5,7>, RHS
+    940404022U,  // <1,5,u,7>: Cost 1 vtrnr LHS, RHS
+    940404023U,  // <1,5,u,u>: Cost 1 vtrnr LHS, RHS
+    2724843800U, // <1,6,0,0>: Cost 3 vext3 <6,7,0,1>, <6,0,0,2>
     2618695782U, // <1,6,0,1>: Cost 3 vext2 <0,2,1,6>, LHS
     2618695857U, // <1,6,0,2>: Cost 3 vext2 <0,2,1,6>, <0,2,1,6>
-    3794161970U, // <1,6,0,3>: Cost 4 vext3 <6,0,3,1>, <6,0,3,1>
-    2620023122U, // <1,6,0,4>: Cost 3 vext2 <0,4,1,6>, <0,4,1,5>
+    3711680764U, // <1,6,0,3>: Cost 4 vext2 <3,4,1,6>, <0,3,1,0>
+    2620023123U, // <1,6,0,4>: Cost 3 vext2 <0,4,1,6>, <0,4,1,6>
     2620686756U, // <1,6,0,5>: Cost 3 vext2 <0,5,1,6>, <0,5,1,6>
     2621350389U, // <1,6,0,6>: Cost 3 vext2 <0,6,1,6>, <0,6,1,6>
-    4028599606U, // <1,6,0,7>: Cost 4 vzipr <0,3,1,0>, RHS
+    2954857782U, // <1,6,0,7>: Cost 3 vzipr <0,3,1,0>, RHS
     2618696349U, // <1,6,0,u>: Cost 3 vext2 <0,2,1,6>, LHS
-    3692438262U, // <1,6,1,0>: Cost 4 vext2 <0,2,1,6>, <1,0,3,2>
-    2625995572U, // <1,6,1,1>: Cost 3 vext2 <1,4,1,6>, <1,1,1,1>
-    3692438422U, // <1,6,1,2>: Cost 4 vext2 <0,2,1,6>, <1,2,3,0>
-    3692438488U, // <1,6,1,3>: Cost 4 vext2 <0,2,1,6>, <1,3,1,3>
+    3026621262U, // <1,6,1,0>: Cost 3 vtrnl <1,1,1,1>, <6,7,0,1>
+    2825552692U, // <1,6,1,1>: Cost 3 vuzpr <1,1,4,6>, <1,1,1,1>
+    3005959068U, // <1,6,1,2>: Cost 3 vzipr <u,u,1,1>, <4,0,6,2>
+    2825551974U, // <1,6,1,3>: Cost 3 vuzpr <1,1,4,6>, LHS
     2625995820U, // <1,6,1,4>: Cost 3 vext2 <1,4,1,6>, <1,4,1,6>
     3692438672U, // <1,6,1,5>: Cost 4 vext2 <0,2,1,6>, <1,5,3,7>
-    3692438720U, // <1,6,1,6>: Cost 4 vext2 <0,2,1,6>, <1,6,0,1>
-    2958183734U, // <1,6,1,7>: Cost 3 vzipr <0,u,1,1>, RHS
-    2958183735U, // <1,6,1,u>: Cost 3 vzipr <0,u,1,1>, RHS
+    2825552724U, // <1,6,1,6>: Cost 3 vuzpr <1,1,4,6>, <1,1,4,6>
+    1884441910U, // <1,6,1,7>: Cost 2 vzipr <0,u,1,1>, RHS
+    1884441911U, // <1,6,1,u>: Cost 2 vzipr <0,u,1,1>, RHS
     2721526201U, // <1,6,2,0>: Cost 3 vext3 <6,2,0,1>, <6,2,0,1>
-    3692439097U, // <1,6,2,1>: Cost 4 vext2 <0,2,1,6>, <2,1,6,0>
-    3692439144U, // <1,6,2,2>: Cost 4 vext2 <0,2,1,6>, <2,2,2,2>
-    3692439206U, // <1,6,2,3>: Cost 4 vext2 <0,2,1,6>, <2,3,0,1>
-    3636948278U, // <1,6,2,4>: Cost 4 vext1 <2,1,6,2>, RHS
-    3787674092U, // <1,6,2,5>: Cost 4 vext3 <4,u,5,1>, <6,2,5,7>
+    2994687442U, // <1,6,2,1>: Cost 3 vzipr <7,0,1,2>, <4,7,6,1>
+    2994686876U, // <1,6,2,2>: Cost 3 vzipr <7,0,1,2>, <4,0,6,2>
+    2759927738U, // <1,6,2,3>: Cost 3 vuzpl <1,3,6,7>, <2,6,3,7>
+    3899294618U, // <1,6,2,4>: Cost 4 vuzpr <1,1,4,6>, <1,2,3,4>
+    4101804685U, // <1,6,2,5>: Cost 4 vtrnl <1,3,2,6>, <6,4,5,6>
     2618697658U, // <1,6,2,6>: Cost 3 vext2 <0,2,1,6>, <2,6,3,7>
-    2970799414U, // <1,6,2,7>: Cost 3 vzipr <3,0,1,2>, RHS
-    2970799415U, // <1,6,2,u>: Cost 3 vzipr <3,0,1,2>, RHS
-    2563211366U, // <1,6,3,0>: Cost 3 vext1 <2,1,6,3>, LHS
-    3699738854U, // <1,6,3,1>: Cost 4 vext2 <1,4,1,6>, <3,1,1,1>
-    2563212860U, // <1,6,3,2>: Cost 3 vext1 <2,1,6,3>, <2,1,6,3>
-    3692439964U, // <1,6,3,3>: Cost 4 vext2 <0,2,1,6>, <3,3,3,3>
-    2563214646U, // <1,6,3,4>: Cost 3 vext1 <2,1,6,3>, RHS
-    4191820018U, // <1,6,3,5>: Cost 4 vtrnr <5,1,7,3>, <u,6,7,5>
-    2587103648U, // <1,6,3,6>: Cost 3 vext1 <6,1,6,3>, <6,1,6,3>
-    3087845306U, // <1,6,3,7>: Cost 3 vtrnr LHS, <2,6,3,7>
-    3087845307U, // <1,6,3,u>: Cost 3 vtrnr LHS, <2,6,3,u>
-    3693767570U, // <1,6,4,0>: Cost 4 vext2 <0,4,1,6>, <4,0,5,1>
+    1897057590U, // <1,6,2,7>: Cost 2 vzipr <3,0,1,2>, RHS
+    1897057591U, // <1,6,2,u>: Cost 2 vzipr <3,0,1,2>, RHS
+    2061881442U, // <1,6,3,0>: Cost 2 vtrnr LHS, <5,6,7,0>
+    2987396400U, // <1,6,3,1>: Cost 3 vzipr <5,7,1,3>, <4,5,6,1>
+    2061880652U, // <1,6,3,2>: Cost 2 vtrnr LHS, <4,6,0,2>
+    3135621028U, // <1,6,3,3>: Cost 3 vtrnr LHS, <2,6,1,3>
+    2061881446U, // <1,6,3,4>: Cost 2 vtrnr LHS, <5,6,7,4>
+    3118078194U, // <1,6,3,5>: Cost 3 vtrnr <5,1,7,3>, <u,6,7,5>
+    2061880692U, // <1,6,3,6>: Cost 2 vtrnr LHS, <4,6,4,6>
+    2014103482U, // <1,6,3,7>: Cost 2 vtrnr LHS, <2,6,3,7>
+    2014103483U, // <1,6,3,u>: Cost 2 vtrnr LHS, <2,6,3,u>
+    2759888204U, // <1,6,4,0>: Cost 3 vuzpl <1,3,6,2>, <4,6,0,2>
     3693767650U, // <1,6,4,1>: Cost 4 vext2 <0,4,1,6>, <4,1,5,0>
     3636962877U, // <1,6,4,2>: Cost 4 vext1 <2,1,6,4>, <2,1,6,4>
-    3325088134U, // <1,6,4,3>: Cost 4 vrev <6,1,3,4>
-    3693767898U, // <1,6,4,4>: Cost 4 vext2 <0,4,1,6>, <4,4,5,5>
+    4101951878U, // <1,6,4,3>: Cost 4 vtrnl <1,3,4,6>, <6,1,3,4>
+    2759921012U, // <1,6,4,4>: Cost 3 vuzpl <1,3,6,6>, <4,6,4,6>
     2618699062U, // <1,6,4,5>: Cost 3 vext2 <0,2,1,6>, RHS
-    3833670966U, // <1,6,4,6>: Cost 4 vuzpl <1,3,6,7>, RHS
-    4028632374U, // <1,6,4,7>: Cost 4 vzipr <0,3,1,4>, RHS
+    2759929142U, // <1,6,4,6>: Cost 3 vuzpl <1,3,6,7>, RHS
+    2954890550U, // <1,6,4,7>: Cost 3 vzipr <0,3,1,4>, RHS
     2618699305U, // <1,6,4,u>: Cost 3 vext2 <0,2,1,6>, RHS
-    3693768264U, // <1,6,5,0>: Cost 4 vext2 <0,4,1,6>, <5,0,1,2>
-    3630998373U, // <1,6,5,1>: Cost 4 vext1 <1,1,6,5>, <1,1,6,5>
-    3636971070U, // <1,6,5,2>: Cost 4 vext1 <2,1,6,5>, <2,1,6,5>
-    3642943767U, // <1,6,5,3>: Cost 4 vext1 <3,1,6,5>, <3,1,6,5>
-    3693768628U, // <1,6,5,4>: Cost 4 vext2 <0,4,1,6>, <5,4,5,6>
-    3732918276U, // <1,6,5,5>: Cost 4 vext2 <7,0,1,6>, <5,5,5,5>
-    2620690530U, // <1,6,5,6>: Cost 3 vext2 <0,5,1,6>, <5,6,7,0>
-    2955562294U, // <1,6,5,7>: Cost 3 vzipr <0,4,1,5>, RHS
-    2955562295U, // <1,6,5,u>: Cost 3 vzipr <0,4,1,5>, RHS
+    3028292430U, // <1,6,5,0>: Cost 3 vtrnl <1,3,5,7>, <6,7,0,1>
+    2575172608U, // <1,6,5,1>: Cost 3 vext1 <4,1,6,5>, <1,3,5,7>
+    3003337628U, // <1,6,5,2>: Cost 3 vzipr <u,4,1,5>, <4,0,6,2>
+    2895254095U, // <1,6,5,3>: Cost 3 vzipl <1,5,3,7>, <6,3,7,7>
+    3028292470U, // <1,6,5,4>: Cost 3 vtrnl <1,3,5,7>, <6,7,4,5>
+    4029302577U, // <1,6,5,5>: Cost 4 vzipr <0,4,1,5>, <2,4,6,5>
+    3003337956U, // <1,6,5,6>: Cost 3 vzipr <u,4,1,5>, <4,4,6,6>
+    1881820470U, // <1,6,5,7>: Cost 2 vzipr <0,4,1,5>, RHS
+    1881820471U, // <1,6,5,u>: Cost 2 vzipr <0,4,1,5>, RHS
     2724180733U, // <1,6,6,0>: Cost 3 vext3 <6,6,0,1>, <6,6,0,1>
-    3631006566U, // <1,6,6,1>: Cost 4 vext1 <1,1,6,6>, <1,1,6,6>
-    3631007674U, // <1,6,6,2>: Cost 4 vext1 <1,1,6,6>, <2,6,3,7>
-    3692442184U, // <1,6,6,3>: Cost 4 vext2 <0,2,1,6>, <6,3,7,0>
-    3631009078U, // <1,6,6,4>: Cost 4 vext1 <1,1,6,6>, RHS
-    3787674416U, // <1,6,6,5>: Cost 4 vext3 <4,u,5,1>, <6,6,5,7>
+    4027983337U, // <1,6,6,1>: Cost 4 vzipr <0,2,1,6>, <2,0,6,1>
+    4027983419U, // <1,6,6,2>: Cost 4 vzipr <0,2,1,6>, <2,1,6,2>
+    4027982772U, // <1,6,6,3>: Cost 4 vzipr <0,2,1,6>, <1,2,6,3>
+    4027983421U, // <1,6,6,4>: Cost 4 vzipr <0,2,1,6>, <2,1,6,4>
+    4029309797U, // <1,6,6,5>: Cost 4 vzipr <0,4,1,6>, <1,1,6,5>
     2713932600U, // <1,6,6,6>: Cost 3 vext3 <4,u,5,1>, <6,6,6,6>
-    2713932610U, // <1,6,6,7>: Cost 3 vext3 <4,u,5,1>, <6,6,7,7>
-    2713932619U, // <1,6,6,u>: Cost 3 vext3 <4,u,5,1>, <6,6,u,7>
+    2954243382U, // <1,6,6,7>: Cost 3 vzipr <0,2,1,6>, RHS
+    2954243383U, // <1,6,6,u>: Cost 3 vzipr <0,2,1,6>, RHS
     1651102542U, // <1,6,7,0>: Cost 2 vext3 <6,7,0,1>, <6,7,0,1>
     2724918103U, // <1,6,7,1>: Cost 3 vext3 <6,7,1,1>, <6,7,1,1>
     2698302306U, // <1,6,7,2>: Cost 3 vext3 <2,3,0,1>, <6,7,2,3>
-    3642960153U, // <1,6,7,3>: Cost 4 vext1 <3,1,6,7>, <3,1,6,7>
+    2849443968U, // <1,6,7,3>: Cost 3 vuzpr <5,1,4,6>, <5,7,1,3>
     2713932662U, // <1,6,7,4>: Cost 3 vext3 <4,u,5,1>, <6,7,4,5>
     2725213051U, // <1,6,7,5>: Cost 3 vext3 <6,7,5,1>, <6,7,5,1>
-    2724844426U, // <1,6,7,6>: Cost 3 vext3 <6,7,0,1>, <6,7,6,7>
-    4035956022U, // <1,6,7,7>: Cost 4 vzipr <1,5,1,7>, RHS
+    2725507979U, // <1,6,7,6>: Cost 3 vext3 <6,u,0,1>, <6,7,6,u>
+    2962214198U, // <1,6,7,7>: Cost 3 vzipr <1,5,1,7>, RHS
     1651692438U, // <1,6,7,u>: Cost 2 vext3 <6,7,u,1>, <6,7,u,1>
     1651766175U, // <1,6,u,0>: Cost 2 vext3 <6,u,0,1>, <6,u,0,1>
     2618701614U, // <1,6,u,1>: Cost 3 vext2 <0,2,1,6>, LHS
-    3135663508U, // <1,6,u,2>: Cost 3 vtrnr LHS, <4,6,u,2>
-    3692443580U, // <1,6,u,3>: Cost 4 vext2 <0,2,1,6>, <u,3,0,1>
-    2713932743U, // <1,6,u,4>: Cost 3 vext3 <4,u,5,1>, <6,u,4,5>
+    2061921612U, // <1,6,u,2>: Cost 2 vtrnr LHS, <4,6,0,2>
+    2825552541U, // <1,6,u,3>: Cost 3 vuzpr <1,1,4,6>, LHS
+    2061922406U, // <1,6,u,4>: Cost 2 vtrnr LHS, <5,6,7,4>
     2618701978U, // <1,6,u,5>: Cost 3 vext2 <0,2,1,6>, RHS
-    2622683344U, // <1,6,u,6>: Cost 3 vext2 <0,u,1,6>, <u,6,3,7>
-    3087886266U, // <1,6,u,7>: Cost 3 vtrnr LHS, <2,6,3,7>
-    1652356071U, // <1,6,u,u>: Cost 2 vext3 <6,u,u,1>, <6,u,u,1>
+    2061921652U, // <1,6,u,6>: Cost 2 vtrnr LHS, <4,6,4,6>
+    2014144442U, // <1,6,u,7>: Cost 2 vtrnr LHS, <2,6,3,7>
+    2014144443U, // <1,6,u,u>: Cost 2 vtrnr LHS, <2,6,3,u>
     2726171632U, // <1,7,0,0>: Cost 3 vext3 <7,0,0,1>, <7,0,0,1>
     2626666598U, // <1,7,0,1>: Cost 3 vext2 <1,5,1,7>, LHS
-    3695100067U, // <1,7,0,2>: Cost 4 vext2 <0,6,1,7>, <0,2,0,1>
-    3707044102U, // <1,7,0,3>: Cost 4 vext2 <2,6,1,7>, <0,3,2,1>
+    2819445754U, // <1,7,0,2>: Cost 3 vuzpr <0,1,2,7>, <7,0,1,2>
+    2257286235U, // <1,7,0,3>: Cost 3 vrev <7,1,3,0>
     2726466580U, // <1,7,0,4>: Cost 3 vext3 <7,0,4,1>, <7,0,4,1>
-    3654921933U, // <1,7,0,5>: Cost 4 vext1 <5,1,7,0>, <5,1,7,0>
+    2620694949U, // <1,7,0,5>: Cost 3 vext2 <0,5,1,7>, <0,5,1,7>
     2621358582U, // <1,7,0,6>: Cost 3 vext2 <0,6,1,7>, <0,6,1,7>
     2622022215U, // <1,7,0,7>: Cost 3 vext2 <0,7,1,7>, <0,7,1,7>
     2626667165U, // <1,7,0,u>: Cost 3 vext2 <1,5,1,7>, LHS
-    2593128550U, // <1,7,1,0>: Cost 3 vext1 <7,1,7,1>, LHS
-    2626667316U, // <1,7,1,1>: Cost 3 vext2 <1,5,1,7>, <1,1,1,1>
-    3700409238U, // <1,7,1,2>: Cost 4 vext2 <1,5,1,7>, <1,2,3,0>
-    2257294428U, // <1,7,1,3>: Cost 3 vrev <7,1,3,1>
-    2593131830U, // <1,7,1,4>: Cost 3 vext1 <7,1,7,1>, RHS
+    2581184614U, // <1,7,1,0>: Cost 3 vext1 <5,1,7,1>, LHS
+    2825634612U, // <1,7,1,1>: Cost 3 vuzpr <1,1,5,7>, <1,1,1,1>
+    3899376428U, // <1,7,1,2>: Cost 4 vuzpr <1,1,5,7>, <1,1,0,2>
+    2825633894U, // <1,7,1,3>: Cost 3 vuzpr <1,1,5,7>, LHS
+    2581187894U, // <1,7,1,4>: Cost 3 vext1 <5,1,7,1>, RHS
     2626667646U, // <1,7,1,5>: Cost 3 vext2 <1,5,1,7>, <1,5,1,7>
     2627331279U, // <1,7,1,6>: Cost 3 vext2 <1,6,1,7>, <1,6,1,7>
-    2593133696U, // <1,7,1,7>: Cost 3 vext1 <7,1,7,1>, <7,1,7,1>
-    2628658545U, // <1,7,1,u>: Cost 3 vext2 <1,u,1,7>, <1,u,1,7>
+    2825634654U, // <1,7,1,7>: Cost 3 vuzpr <1,1,5,7>, <1,1,5,7>
+    2825633899U, // <1,7,1,u>: Cost 3 vuzpr <1,1,5,7>, LHS
     2587164774U, // <1,7,2,0>: Cost 3 vext1 <6,1,7,2>, LHS
-    3701073445U, // <1,7,2,1>: Cost 4 vext2 <1,6,1,7>, <2,1,3,7>
-    3700409960U, // <1,7,2,2>: Cost 4 vext2 <1,5,1,7>, <2,2,2,2>
+    2994687370U, // <1,7,2,1>: Cost 3 vzipr <7,0,1,2>, <4,6,7,1>
+    2970800552U, // <1,7,2,2>: Cost 3 vzipr <3,0,1,2>, <6,1,7,2>
     2638612134U, // <1,7,2,3>: Cost 3 vext2 <3,5,1,7>, <2,3,0,1>
     2587168054U, // <1,7,2,4>: Cost 3 vext1 <6,1,7,2>, RHS
     3706382167U, // <1,7,2,5>: Cost 4 vext2 <2,5,1,7>, <2,5,1,7>
     2587169192U, // <1,7,2,6>: Cost 3 vext1 <6,1,7,2>, <6,1,7,2>
-    3660911610U, // <1,7,2,7>: Cost 4 vext1 <6,1,7,2>, <7,0,1,2>
+    2994688024U, // <1,7,2,7>: Cost 3 vzipr <7,0,1,2>, <5,5,7,7>
     2587170606U, // <1,7,2,u>: Cost 3 vext1 <6,1,7,2>, LHS
     1507459174U, // <1,7,3,0>: Cost 2 vext1 <5,1,7,3>, LHS
-    2569257984U, // <1,7,3,1>: Cost 3 vext1 <3,1,7,3>, <1,3,5,7>
+    2061882190U, // <1,7,3,1>: Cost 2 vtrnr LHS, <6,7,0,1>
     2581202536U, // <1,7,3,2>: Cost 3 vext1 <5,1,7,3>, <2,2,2,2>
-    2569259294U, // <1,7,3,3>: Cost 3 vext1 <3,1,7,3>, <3,1,7,3>
+    2061881472U, // <1,7,3,3>: Cost 2 vtrnr LHS, <5,7,1,3>
     1507462454U, // <1,7,3,4>: Cost 2 vext1 <5,1,7,3>, RHS
     1507462864U, // <1,7,3,5>: Cost 2 vext1 <5,1,7,3>, <5,1,7,3>
     2581205498U, // <1,7,3,6>: Cost 3 vext1 <5,1,7,3>, <6,2,7,3>
-    2581206010U, // <1,7,3,7>: Cost 3 vext1 <5,1,7,3>, <7,0,1,2>
+    2061881512U, // <1,7,3,7>: Cost 2 vtrnr LHS, <5,7,5,7>
     1507465006U, // <1,7,3,u>: Cost 2 vext1 <5,1,7,3>, LHS
     2728826164U, // <1,7,4,0>: Cost 3 vext3 <7,4,0,1>, <7,4,0,1>
-    3654951732U, // <1,7,4,1>: Cost 4 vext1 <5,1,7,4>, <1,1,1,1>
+    4103279610U, // <1,7,4,1>: Cost 4 vtrnl <1,5,4,6>, <7,0,1,2>
     3330987094U, // <1,7,4,2>: Cost 4 vrev <7,1,2,4>
-    3331060831U, // <1,7,4,3>: Cost 4 vrev <7,1,3,4>
+    2257319007U, // <1,7,4,3>: Cost 3 vrev <7,1,3,4>
     3787674971U, // <1,7,4,4>: Cost 4 vext3 <4,u,5,1>, <7,4,4,4>
     2626669878U, // <1,7,4,5>: Cost 3 vext2 <1,5,1,7>, RHS
-    3785979241U, // <1,7,4,6>: Cost 4 vext3 <4,6,0,1>, <7,4,6,0>
-    3787085176U, // <1,7,4,7>: Cost 4 vext3 <4,7,6,1>, <7,4,7,6>
+    2956218310U, // <1,7,4,6>: Cost 3 vzipr <0,5,1,4>, <5,4,7,6>
+    4103280236U, // <1,7,4,7>: Cost 4 vtrnl <1,5,4,6>, <7,7,7,7>
     2626670121U, // <1,7,4,u>: Cost 3 vext2 <1,5,1,7>, RHS
     2569273446U, // <1,7,5,0>: Cost 3 vext1 <3,1,7,5>, LHS
-    2569274368U, // <1,7,5,1>: Cost 3 vext1 <3,1,7,5>, <1,3,5,7>
-    3643016808U, // <1,7,5,2>: Cost 4 vext1 <3,1,7,5>, <2,2,2,2>
-    2569275680U, // <1,7,5,3>: Cost 3 vext1 <3,1,7,5>, <3,1,7,5>
+    3028292602U, // <1,7,5,1>: Cost 3 vtrnl <1,3,5,7>, <7,0,1,2>
+    4102034434U, // <1,7,5,2>: Cost 4 vtrnl <1,3,5,7>, <7,0,2,1>
+    3028292704U, // <1,7,5,3>: Cost 3 vtrnl <1,3,5,7>, <7,1,3,5>
     2569276726U, // <1,7,5,4>: Cost 3 vext1 <3,1,7,5>, RHS
-    4102034790U, // <1,7,5,5>: Cost 4 vtrnl <1,3,5,7>, <7,4,5,6>
+    3028292966U, // <1,7,5,5>: Cost 3 vtrnl <1,3,5,7>, <7,4,5,6>
     2651222067U, // <1,7,5,6>: Cost 3 vext2 <5,6,1,7>, <5,6,1,7>
-    3899378998U, // <1,7,5,7>: Cost 4 vuzpr <1,1,5,7>, RHS
-    2569279278U, // <1,7,5,u>: Cost 3 vext1 <3,1,7,5>, LHS
+    2825637174U, // <1,7,5,7>: Cost 3 vuzpr <1,1,5,7>, RHS
+    2825637175U, // <1,7,5,u>: Cost 3 vuzpr <1,1,5,7>, RHS
     2730153430U, // <1,7,6,0>: Cost 3 vext3 <7,6,0,1>, <7,6,0,1>
     2724845022U, // <1,7,6,1>: Cost 3 vext3 <6,7,0,1>, <7,6,1,0>
     3643025338U, // <1,7,6,2>: Cost 4 vext1 <3,1,7,6>, <2,6,3,7>
-    3643025697U, // <1,7,6,3>: Cost 4 vext1 <3,1,7,6>, <3,1,7,6>
-    3643026742U, // <1,7,6,4>: Cost 4 vext1 <3,1,7,6>, RHS
+    3117879424U, // <1,7,6,3>: Cost 3 vtrnr <5,1,4,6>, <5,7,1,3>
+    2257409130U, // <1,7,6,4>: Cost 3 vrev <7,1,4,6>
     3654971091U, // <1,7,6,5>: Cost 4 vext1 <5,1,7,6>, <5,1,7,6>
     3787675153U, // <1,7,6,6>: Cost 4 vext3 <4,u,5,1>, <7,6,6,6>
     2724845076U, // <1,7,6,7>: Cost 3 vext3 <6,7,0,1>, <7,6,7,0>
     2725508637U, // <1,7,6,u>: Cost 3 vext3 <6,u,0,1>, <7,6,u,0>
     2730817063U, // <1,7,7,0>: Cost 3 vext3 <7,7,0,1>, <7,7,0,1>
-    3631088436U, // <1,7,7,1>: Cost 4 vext1 <1,1,7,7>, <1,1,1,1>
+    2861470542U, // <1,7,7,1>: Cost 3 vuzpr <7,1,5,7>, <6,7,0,1>
     3660949158U, // <1,7,7,2>: Cost 4 vext1 <6,1,7,7>, <2,3,0,1>
-    3801904705U, // <1,7,7,3>: Cost 4 vext3 <7,3,0,1>, <7,7,3,0>
+    2998046416U, // <1,7,7,3>: Cost 3 vzipr <7,5,1,7>, <5,1,7,3>
     3631090998U, // <1,7,7,4>: Cost 4 vext1 <1,1,7,7>, RHS
-    2662503828U, // <1,7,7,5>: Cost 3 vext2 <7,5,1,7>, <7,5,1,7>
-    3660951981U, // <1,7,7,6>: Cost 4 vext1 <6,1,7,7>, <6,1,7,7>
+    2257491060U, // <1,7,7,5>: Cost 3 vrev <7,1,5,7>
+    4060508102U, // <1,7,7,6>: Cost 4 vzipr <5,6,1,7>, <5,4,7,6>
     2713933420U, // <1,7,7,7>: Cost 3 vext3 <4,u,5,1>, <7,7,7,7>
-    2731406959U, // <1,7,7,u>: Cost 3 vext3 <7,7,u,1>, <7,7,u,1>
+    2257712271U, // <1,7,7,u>: Cost 3 vrev <7,1,u,7>
     1507500134U, // <1,7,u,0>: Cost 2 vext1 <5,1,7,u>, LHS
-    2626672430U, // <1,7,u,1>: Cost 3 vext2 <1,5,1,7>, LHS
+    2061923150U, // <1,7,u,1>: Cost 2 vtrnr LHS, <6,7,0,1>
     2581243496U, // <1,7,u,2>: Cost 3 vext1 <5,1,7,u>, <2,2,2,2>
-    2569300259U, // <1,7,u,3>: Cost 3 vext1 <3,1,7,u>, <3,1,7,u>
+    2061922432U, // <1,7,u,3>: Cost 2 vtrnr LHS, <5,7,1,3>
     1507503414U, // <1,7,u,4>: Cost 2 vext1 <5,1,7,u>, RHS
     1507503829U, // <1,7,u,5>: Cost 2 vext1 <5,1,7,u>, <5,1,7,u>
     2581246458U, // <1,7,u,6>: Cost 3 vext1 <5,1,7,u>, <6,2,7,3>
-    2581246970U, // <1,7,u,7>: Cost 3 vext1 <5,1,7,u>, <7,0,1,2>
+    2061922472U, // <1,7,u,7>: Cost 2 vtrnr LHS, <5,7,5,7>
     1507505966U, // <1,7,u,u>: Cost 2 vext1 <5,1,7,u>, LHS
-    1543643153U, // <1,u,0,0>: Cost 2 vext2 <0,0,1,u>, <0,0,1,u>
-    1546297446U, // <1,u,0,1>: Cost 2 vext2 <0,4,1,u>, LHS
-    2819448852U, // <1,u,0,2>: Cost 3 vuzpr LHS, <0,0,2,2>
-    2619375876U, // <1,u,0,3>: Cost 3 vext2 <0,3,1,u>, <0,3,1,u>
+    1745707008U, // <1,u,0,0>: Cost 2 vuzpr LHS, <0,0,0,0>
+    1745707018U, // <1,u,0,1>: Cost 2 vuzpr LHS, <0,0,1,1>
+    1745707028U, // <1,u,0,2>: Cost 2 vuzpr LHS, <0,0,2,2>
+    2954854556U, // <1,u,0,3>: Cost 3 vzipr <0,3,1,0>, LHS
     1546297685U, // <1,u,0,4>: Cost 2 vext2 <0,4,1,u>, <0,4,1,u>
-    1658771190U, // <1,u,0,5>: Cost 2 vext3 <u,0,5,1>, <u,0,5,1>
-    2736789248U, // <1,u,0,6>: Cost 3 vext3 <u,7,0,1>, <u,0,6,2>
-    2659189376U, // <1,u,0,7>: Cost 3 vext2 <7,0,1,u>, <0,7,u,1>
-    1546298013U, // <1,u,0,u>: Cost 2 vext2 <0,4,1,u>, LHS
+    1818155162U, // <1,u,0,5>: Cost 2 vzipl <1,0,3,2>, RHS
+    2891897040U, // <1,u,0,6>: Cost 3 vzipl <1,0,3,2>, <u,6,3,7>
+    2954857800U, // <1,u,0,7>: Cost 3 vzipr <0,3,1,0>, RHS
+    1745707025U, // <1,u,0,u>: Cost 2 vuzpr LHS, <0,0,1,u>
     1483112550U, // <1,u,1,0>: Cost 2 vext1 <1,1,1,1>, LHS
     202162278U,  // <1,u,1,1>: Cost 1 vdup1 LHS
     1616009006U, // <1,u,1,2>: Cost 2 vext3 <0,u,1,1>, LHS
-    1745707110U, // <1,u,1,3>: Cost 2 vuzpr LHS, LHS
+    671965286U,  // <1,u,1,3>: Cost 1 vuzpr LHS, LHS
     1483115830U, // <1,u,1,4>: Cost 2 vext1 <1,1,1,1>, RHS
-    2620040336U, // <1,u,1,5>: Cost 3 vext2 <0,4,1,u>, <1,5,3,7>
-    3026622618U, // <1,u,1,6>: Cost 3 vtrnl <1,1,1,1>, RHS
-    2958183752U, // <1,u,1,7>: Cost 3 vzipr <0,u,1,1>, RHS
-    202162278U,  // <1,u,1,u>: Cost 1 vdup1 LHS
-    2819449750U, // <1,u,2,0>: Cost 3 vuzpr LHS, <1,2,3,0>
-    2893207342U, // <1,u,2,1>: Cost 3 vzipl <1,2,3,0>, LHS
-    2819448996U, // <1,u,2,2>: Cost 3 vuzpr LHS, <0,2,0,2>
-    2819450482U, // <1,u,2,3>: Cost 3 vuzpr LHS, <2,2,3,3>
-    2819449754U, // <1,u,2,4>: Cost 3 vuzpr LHS, <1,2,3,4>
-    2893207706U, // <1,u,2,5>: Cost 3 vzipl <1,2,3,0>, RHS
-    2819449036U, // <1,u,2,6>: Cost 3 vuzpr LHS, <0,2,4,6>
-    2970799432U, // <1,u,2,7>: Cost 3 vzipr <3,0,1,2>, RHS
-    2819449002U, // <1,u,2,u>: Cost 3 vuzpr LHS, <0,2,0,u>
+    1818663066U, // <1,u,1,5>: Cost 2 vzipl <1,1,1,1>, RHS
+    1952880794U, // <1,u,1,6>: Cost 2 vtrnl <1,1,1,1>, RHS
+    1884441928U, // <1,u,1,7>: Cost 2 vzipr <0,u,1,1>, RHS
+    671965291U,  // <1,u,1,u>: Cost 1 vuzpr LHS, LHS
+    1745707926U, // <1,u,2,0>: Cost 2 vuzpr LHS, <1,2,3,0>
+    1819465518U, // <1,u,2,1>: Cost 2 vzipl <1,2,3,0>, LHS
+    1745707172U, // <1,u,2,2>: Cost 2 vuzpr LHS, <0,2,0,2>
+    1745708658U, // <1,u,2,3>: Cost 2 vuzpr LHS, <2,2,3,3>
+    1745707930U, // <1,u,2,4>: Cost 2 vuzpr LHS, <1,2,3,4>
+    1819465882U, // <1,u,2,5>: Cost 2 vzipl <1,2,3,0>, RHS
+    1745707212U, // <1,u,2,6>: Cost 2 vuzpr LHS, <0,2,4,6>
+    1897057608U, // <1,u,2,7>: Cost 2 vzipr <3,0,1,2>, RHS
+    1745707178U, // <1,u,2,u>: Cost 2 vuzpr LHS, <0,2,0,u>
     403931292U,  // <1,u,3,0>: Cost 1 vext1 LHS, LHS
-    1477673718U, // <1,u,3,1>: Cost 2 vext1 LHS, <1,0,3,2>
+    2014102162U, // <1,u,3,1>: Cost 2 vtrnr LHS, <0,u,1,1>
     115726126U,  // <1,u,3,2>: Cost 1 vrev LHS
-    2014102173U, // <1,u,3,3>: Cost 2 vtrnr LHS, LHS
+    940360349U,  // <1,u,3,3>: Cost 1 vtrnr LHS, LHS
     403934518U,  // <1,u,3,4>: Cost 1 vext1 LHS, RHS
-    1507536601U, // <1,u,3,5>: Cost 2 vext1 <5,1,u,3>, <5,1,u,3>
-    1525453306U, // <1,u,3,6>: Cost 2 vext1 LHS, <6,2,7,3>
-    2014105129U, // <1,u,3,7>: Cost 2 vtrnr LHS, RHS
-    403937070U,  // <1,u,3,u>: Cost 1 vext1 LHS, LHS
+    2014102166U, // <1,u,3,5>: Cost 2 vtrnr LHS, <0,u,1,5>
+    2014102176U, // <1,u,3,6>: Cost 2 vtrnr LHS, <0,u,2,6>
+    940363305U,  // <1,u,3,7>: Cost 1 vtrnr LHS, RHS
+    940360354U,  // <1,u,3,u>: Cost 1 vtrnr LHS, LHS
     2620042157U, // <1,u,4,0>: Cost 3 vext2 <0,4,1,u>, <4,0,u,1>
     2620042237U, // <1,u,4,1>: Cost 3 vext2 <0,4,1,u>, <4,1,u,0>
-    2263217967U, // <1,u,4,2>: Cost 3 vrev <u,1,2,4>
-    2569341224U, // <1,u,4,3>: Cost 3 vext1 <3,1,u,4>, <3,1,u,4>
-    2569342262U, // <1,u,4,4>: Cost 3 vext1 <3,1,u,4>, RHS
-    1546300726U, // <1,u,4,5>: Cost 2 vext2 <0,4,1,u>, RHS
-    2819449180U, // <1,u,4,6>: Cost 3 vuzpr LHS, <0,4,2,6>
-    2724845649U, // <1,u,4,7>: Cost 3 vext3 <6,7,0,1>, <u,4,7,6>
-    1546300969U, // <1,u,4,u>: Cost 2 vext2 <0,4,1,u>, RHS
-    2551431270U, // <1,u,5,0>: Cost 3 vext1 <0,1,u,5>, LHS
-    2551432192U, // <1,u,5,1>: Cost 3 vext1 <0,1,u,5>, <1,3,5,7>
-    3028293422U, // <1,u,5,2>: Cost 3 vtrnl <1,3,5,7>, LHS
-    2955559068U, // <1,u,5,3>: Cost 3 vzipr <0,4,1,5>, LHS
+    3026876206U, // <1,u,4,2>: Cost 3 vtrnl <1,1,4,5>, LHS
+    2954887324U, // <1,u,4,3>: Cost 3 vzipr <0,3,1,4>, LHS
+    1793486032U, // <1,u,4,4>: Cost 2 vuzpr LHS, <4,4,4,4>
+    1745707346U, // <1,u,4,5>: Cost 2 vuzpr LHS, <0,4,1,5>
+    1745707356U, // <1,u,4,6>: Cost 2 vuzpr LHS, <0,4,2,6>
+    2954890568U, // <1,u,4,7>: Cost 3 vzipr <0,3,1,4>, RHS
+    1745707349U, // <1,u,4,u>: Cost 2 vuzpr LHS, <0,4,1,u>
+    2551431326U, // <1,u,5,0>: Cost 3 vext1 <0,1,u,5>, <0,1,u,5>
+    1821513518U, // <1,u,5,1>: Cost 2 vzipl <1,5,3,7>, LHS
+    1954551598U, // <1,u,5,2>: Cost 2 vtrnl <1,3,5,7>, LHS
+    1881817244U, // <1,u,5,3>: Cost 2 vzipr <0,4,1,5>, LHS
     2551434550U, // <1,u,5,4>: Cost 3 vext1 <0,1,u,5>, RHS
-    2895255706U, // <1,u,5,5>: Cost 3 vzipl <1,5,3,7>, RHS
+    1821513882U, // <1,u,5,5>: Cost 2 vzipl <1,5,3,7>, RHS
     1616009370U, // <1,u,5,6>: Cost 2 vext3 <0,u,1,1>, RHS
-    1745710390U, // <1,u,5,7>: Cost 2 vuzpr LHS, RHS
-    1745710391U, // <1,u,5,u>: Cost 2 vuzpr LHS, RHS
-    2653221159U, // <1,u,6,0>: Cost 3 vext2 <6,0,1,u>, <6,0,1,u>
-    2725509303U, // <1,u,6,1>: Cost 3 vext3 <6,u,0,1>, <u,6,1,0>
-    2659193338U, // <1,u,6,2>: Cost 3 vext2 <7,0,1,u>, <6,2,7,3>
-    2689751248U, // <1,u,6,3>: Cost 3 vext3 <0,u,1,1>, <u,6,3,7>
-    2867228774U, // <1,u,6,4>: Cost 3 vuzpr LHS, <5,6,7,4>
-    3764820194U, // <1,u,6,5>: Cost 4 vext3 <1,1,1,1>, <u,6,5,7>
-    2657202957U, // <1,u,6,6>: Cost 3 vext2 <6,6,1,u>, <6,6,1,u>
-    2819450810U, // <1,u,6,7>: Cost 3 vuzpr LHS, <2,6,3,7>
-    2819450811U, // <1,u,6,u>: Cost 3 vuzpr LHS, <2,6,3,u>
+    671968566U,  // <1,u,5,7>: Cost 1 vuzpr LHS, RHS
+    671968567U,  // <1,u,5,u>: Cost 1 vuzpr LHS, RHS
+    1793486946U, // <1,u,6,0>: Cost 2 vuzpr LHS, <5,6,7,0>
+    2557412216U, // <1,u,6,1>: Cost 3 vext1 <1,1,u,6>, <1,1,u,6>
+    1793486156U, // <1,u,6,2>: Cost 2 vuzpr LHS, <4,6,0,2>
+    2954240156U, // <1,u,6,3>: Cost 3 vzipr <0,2,1,6>, LHS
+    1793486950U, // <1,u,6,4>: Cost 2 vuzpr LHS, <5,6,7,4>
+    2895771802U, // <1,u,6,5>: Cost 3 vzipl <1,6,1,7>, RHS
+    1793486196U, // <1,u,6,6>: Cost 2 vuzpr LHS, <4,6,4,6>
+    1745708986U, // <1,u,6,7>: Cost 2 vuzpr LHS, <2,6,3,7>
+    1745708987U, // <1,u,6,u>: Cost 2 vuzpr LHS, <2,6,3,u>
     1585452032U, // <1,u,7,0>: Cost 2 vext2 <7,0,1,u>, <7,0,1,u>
-    2557420340U, // <1,u,7,1>: Cost 3 vext1 <1,1,u,7>, <1,1,1,1>
+    1793487694U, // <1,u,7,1>: Cost 2 vuzpr LHS, <6,7,0,1>
     2569365158U, // <1,u,7,2>: Cost 3 vext1 <3,1,u,7>, <2,3,0,1>
-    2569365803U, // <1,u,7,3>: Cost 3 vext1 <3,1,u,7>, <3,1,u,7>
+    1793486976U, // <1,u,7,3>: Cost 2 vuzpr LHS, <5,7,1,3>
     2557422902U, // <1,u,7,4>: Cost 3 vext1 <1,1,u,7>, RHS
-    2662512021U, // <1,u,7,5>: Cost 3 vext2 <7,5,1,u>, <7,5,1,u>
+    1793487734U, // <1,u,7,5>: Cost 2 vuzpr LHS, <6,7,4,5>
     2724845884U, // <1,u,7,6>: Cost 3 vext3 <6,7,0,1>, <u,7,6,7>
-    2659194476U, // <1,u,7,7>: Cost 3 vext2 <7,0,1,u>, <7,7,7,7>
+    1793487016U, // <1,u,7,7>: Cost 2 vuzpr LHS, <5,7,5,7>
     1590761096U, // <1,u,7,u>: Cost 2 vext2 <7,u,1,u>, <7,u,1,u>
     403972257U,  // <1,u,u,0>: Cost 1 vext1 LHS, LHS
     202162278U,  // <1,u,u,1>: Cost 1 vdup1 LHS
     115767091U,  // <1,u,u,2>: Cost 1 vrev LHS
-    1745707677U, // <1,u,u,3>: Cost 2 vuzpr LHS, LHS
+    671965853U,  // <1,u,u,3>: Cost 1 vuzpr LHS, LHS
     403975478U,  // <1,u,u,4>: Cost 1 vext1 LHS, RHS
-    1546303642U, // <1,u,u,5>: Cost 2 vext2 <0,4,1,u>, RHS
-    1616009613U, // <1,u,u,6>: Cost 2 vext3 <0,u,1,1>, RHS
-    1745710633U, // <1,u,u,7>: Cost 2 vuzpr LHS, RHS
-    403978030U,  // <1,u,u,u>: Cost 1 vext1 LHS, LHS
-    2551463936U, // <2,0,0,0>: Cost 3 vext1 <0,2,0,0>, <0,0,0,0>
+    1745707670U, // <1,u,u,5>: Cost 2 vuzpr LHS, <0,u,1,5>
+    1745707680U, // <1,u,u,6>: Cost 2 vuzpr LHS, <0,u,2,6>
+    671968809U,  // <1,u,u,7>: Cost 1 vuzpr LHS, RHS
+    671965858U,  // <1,u,u,u>: Cost 1 vuzpr LHS, LHS
+    2215919778U, // <2,0,0,0>: Cost 3 vrev <0,2,0,0>
     2685698058U, // <2,0,0,1>: Cost 3 vext3 <0,2,0,2>, <0,0,1,1>
-    1610776596U, // <2,0,0,2>: Cost 2 vext3 <0,0,2,2>, <0,0,2,2>
-    2619384069U, // <2,0,0,3>: Cost 3 vext2 <0,3,2,0>, <0,3,2,0>
+    1691664486U, // <2,0,0,2>: Cost 2 vuzpl <2,3,0,1>, LHS
+    2826094014U, // <2,0,0,3>: Cost 3 vuzpr <1,2,3,0>, <2,0,1,3>
     2551467318U, // <2,0,0,4>: Cost 3 vext1 <0,2,0,0>, RHS
-    3899836596U, // <2,0,0,5>: Cost 4 vuzpr <1,2,3,0>, <3,0,4,5>
-    2621374968U, // <2,0,0,6>: Cost 3 vext2 <0,6,2,0>, <0,6,2,0>
-    4168271334U, // <2,0,0,7>: Cost 4 vtrnr <1,2,3,0>, <2,0,5,7>
-    1611219018U, // <2,0,0,u>: Cost 2 vext3 <0,0,u,2>, <0,0,u,2>
-    2551472138U, // <2,0,1,0>: Cost 3 vext1 <0,2,0,1>, <0,0,1,1>
-    2690564186U, // <2,0,1,1>: Cost 3 vext3 <1,0,3,2>, <0,1,1,0>
+    2826094772U, // <2,0,0,5>: Cost 3 vuzpr <1,2,3,0>, <3,0,4,5>
+    2216362200U, // <2,0,0,6>: Cost 3 vrev <0,2,6,0>
+    3094529510U, // <2,0,0,7>: Cost 3 vtrnr <1,2,3,0>, <2,0,5,7>
+    1691664540U, // <2,0,0,u>: Cost 2 vuzpl <2,3,0,1>, LHS
+    2215927971U, // <2,0,1,0>: Cost 3 vrev <0,2,0,1>
+    3088343050U, // <2,0,1,1>: Cost 3 vtrnr <0,2,0,1>, <0,0,1,1>
     1611956326U, // <2,0,1,2>: Cost 2 vext3 <0,2,0,2>, LHS
-    2826092646U, // <2,0,1,3>: Cost 3 vuzpr <1,2,3,0>, LHS
+    1752350822U, // <2,0,1,3>: Cost 2 vuzpr <1,2,3,0>, LHS
     2551475510U, // <2,0,1,4>: Cost 3 vext1 <0,2,0,1>, RHS
-    3692463248U, // <2,0,1,5>: Cost 4 vext2 <0,2,2,0>, <1,5,3,7>
+    2765407232U, // <2,0,1,5>: Cost 3 vuzpl <2,3,0,1>, <1,3,5,7>
     2587308473U, // <2,0,1,6>: Cost 3 vext1 <6,2,0,1>, <6,2,0,1>
-    3661050874U, // <2,0,1,7>: Cost 4 vext1 <6,2,0,1>, <7,0,1,2>
+    2216444130U, // <2,0,1,7>: Cost 3 vrev <0,2,7,1>
     1611956380U, // <2,0,1,u>: Cost 2 vext3 <0,2,0,2>, LHS
-    1477738598U, // <2,0,2,0>: Cost 2 vext1 <0,2,0,2>, LHS
-    2551481078U, // <2,0,2,1>: Cost 3 vext1 <0,2,0,2>, <1,0,3,2>
-    2551481796U, // <2,0,2,2>: Cost 3 vext1 <0,2,0,2>, <2,0,2,0>
+    1142194340U, // <2,0,2,0>: Cost 2 vrev <0,2,0,2>
+    1825374310U, // <2,0,2,1>: Cost 2 vzipl <2,2,2,2>, LHS
+    1959592038U, // <2,0,2,2>: Cost 2 vtrnl <2,2,2,2>, LHS
     2551482518U, // <2,0,2,3>: Cost 3 vext1 <0,2,0,2>, <3,0,1,2>
     1477741878U, // <2,0,2,4>: Cost 2 vext1 <0,2,0,2>, RHS
-    2551484112U, // <2,0,2,5>: Cost 3 vext1 <0,2,0,2>, <5,1,7,3>
-    2551484759U, // <2,0,2,6>: Cost 3 vext1 <0,2,0,2>, <6,0,7,2>
-    2551485434U, // <2,0,2,7>: Cost 3 vext1 <0,2,0,2>, <7,0,1,2>
+    2599259856U, // <2,0,2,5>: Cost 3 vext1 <u,2,0,2>, <5,1,7,3>
+    3088351274U, // <2,0,2,6>: Cost 3 vtrnr <0,2,0,2>, <0,0,4,6>
+    2599261178U, // <2,0,2,7>: Cost 3 vext1 <u,2,0,2>, <7,0,1,2>
     1477744430U, // <2,0,2,u>: Cost 2 vext1 <0,2,0,2>, LHS
-    2953625600U, // <2,0,3,0>: Cost 3 vzipr LHS, <0,0,0,0>
-    2953627302U, // <2,0,3,1>: Cost 3 vzipr LHS, <2,3,0,1>
-    2953625764U, // <2,0,3,2>: Cost 3 vzipr LHS, <0,2,0,2>
-    4027369695U, // <2,0,3,3>: Cost 4 vzipr LHS, <3,1,0,3>
-    3625233718U, // <2,0,3,4>: Cost 4 vext1 <0,2,0,3>, RHS
-    3899836110U, // <2,0,3,5>: Cost 4 vuzpr <1,2,3,0>, <2,3,4,5>
-    4032012618U, // <2,0,3,6>: Cost 4 vzipr LHS, <0,4,0,6>
-    3899835392U, // <2,0,3,7>: Cost 4 vuzpr <1,2,3,0>, <1,3,5,7>
-    2953625770U, // <2,0,3,u>: Cost 3 vzipr LHS, <0,2,0,u>
-    2551496806U, // <2,0,4,0>: Cost 3 vext1 <0,2,0,4>, LHS
+    1879883776U, // <2,0,3,0>: Cost 2 vzipr LHS, <0,0,0,0>
+    1879885478U, // <2,0,3,1>: Cost 2 vzipr LHS, <2,3,0,1>
+    1879883940U, // <2,0,3,2>: Cost 2 vzipr LHS, <0,2,0,2>
+    2953627871U, // <2,0,3,3>: Cost 3 vzipr LHS, <3,1,0,3>
+    2958270630U, // <2,0,3,4>: Cost 3 vzipr LHS, <0,2,0,4>
+    2826094286U, // <2,0,3,5>: Cost 3 vuzpr <1,2,3,0>, <2,3,4,5>
+    2958270794U, // <2,0,3,6>: Cost 3 vzipr LHS, <0,4,0,6>
+    2826093568U, // <2,0,3,7>: Cost 3 vuzpr <1,2,3,0>, <1,3,5,7>
+    1879883946U, // <2,0,3,u>: Cost 2 vzipr LHS, <0,2,0,u>
+    2215952550U, // <2,0,4,0>: Cost 3 vrev <0,2,0,4>
     2685698386U, // <2,0,4,1>: Cost 3 vext3 <0,2,0,2>, <0,4,1,5>
-    2685698396U, // <2,0,4,2>: Cost 3 vext3 <0,2,0,2>, <0,4,2,6>
+    1960427622U, // <2,0,4,2>: Cost 2 vtrnl <2,3,4,5>, LHS
     3625240726U, // <2,0,4,3>: Cost 4 vext1 <0,2,0,4>, <3,0,1,2>
     2551500086U, // <2,0,4,4>: Cost 3 vext1 <0,2,0,4>, RHS
     2618723638U, // <2,0,4,5>: Cost 3 vext2 <0,2,2,0>, RHS
-    2765409590U, // <2,0,4,6>: Cost 3 vuzpl <2,3,0,1>, RHS
-    3799990664U, // <2,0,4,7>: Cost 4 vext3 <7,0,1,2>, <0,4,7,5>
-    2685698450U, // <2,0,4,u>: Cost 3 vext3 <0,2,0,2>, <0,4,u,6>
-    3625246822U, // <2,0,5,0>: Cost 4 vext1 <0,2,0,5>, LHS
-    3289776304U, // <2,0,5,1>: Cost 4 vrev <0,2,1,5>
-    2690564526U, // <2,0,5,2>: Cost 3 vext3 <1,0,3,2>, <0,5,2,7>
-    3289923778U, // <2,0,5,3>: Cost 4 vrev <0,2,3,5>
+    1691667766U, // <2,0,4,6>: Cost 2 vuzpl <2,3,0,1>, RHS
+    4168304102U, // <2,0,4,7>: Cost 4 vtrnr <1,2,3,4>, <2,0,5,7>
+    1691667784U, // <2,0,4,u>: Cost 2 vuzpl <2,3,0,1>, RHS
+    3033596068U, // <2,0,5,0>: Cost 3 vtrnl <2,2,5,7>, <0,2,0,2>
+    2216034480U, // <2,0,5,1>: Cost 3 vrev <0,2,1,5>
+    2955632804U, // <2,0,5,2>: Cost 3 vzipr <0,4,2,5>, <0,2,0,2>
+    2216181954U, // <2,0,5,3>: Cost 3 vrev <0,2,3,5>
     2216255691U, // <2,0,5,4>: Cost 3 vrev <0,2,4,5>
-    3726307332U, // <2,0,5,5>: Cost 4 vext2 <5,u,2,0>, <5,5,5,5>
-    3726307426U, // <2,0,5,6>: Cost 4 vext2 <5,u,2,0>, <5,6,7,0>
-    2826095926U, // <2,0,5,7>: Cost 3 vuzpr <1,2,3,0>, RHS
-    2216550639U, // <2,0,5,u>: Cost 3 vrev <0,2,u,5>
-    4162420736U, // <2,0,6,0>: Cost 4 vtrnr <0,2,4,6>, <0,0,0,0>
-    2901885030U, // <2,0,6,1>: Cost 3 vzipl <2,6,3,7>, LHS
-    2685698559U, // <2,0,6,2>: Cost 3 vext3 <0,2,0,2>, <0,6,2,7>
-    3643173171U, // <2,0,6,3>: Cost 4 vext1 <3,2,0,6>, <3,2,0,6>
-    2216263884U, // <2,0,6,4>: Cost 3 vrev <0,2,4,6>
-    3730289341U, // <2,0,6,5>: Cost 4 vext2 <6,5,2,0>, <6,5,2,0>
-    3726308152U, // <2,0,6,6>: Cost 4 vext2 <5,u,2,0>, <6,6,6,6>
-    3899836346U, // <2,0,6,7>: Cost 4 vuzpr <1,2,3,0>, <2,6,3,7>
-    2216558832U, // <2,0,6,u>: Cost 3 vrev <0,2,u,6>
+    2867900420U, // <2,0,5,5>: Cost 3 vuzpr <u,2,3,0>, <5,5,5,5>
+    4162412586U, // <2,0,5,6>: Cost 4 vtrnr <0,2,4,5>, <0,0,4,6>
+    1752354102U, // <2,0,5,7>: Cost 2 vuzpr <1,2,3,0>, RHS
+    1752354103U, // <2,0,5,u>: Cost 2 vuzpr <1,2,3,0>, RHS
+    3088678912U, // <2,0,6,0>: Cost 3 vtrnr <0,2,4,6>, <0,0,0,0>
+    1828143206U, // <2,0,6,1>: Cost 2 vzipl <2,6,3,7>, LHS
+    3088678932U, // <2,0,6,2>: Cost 3 vtrnr <0,2,4,6>, <0,0,2,2>
+    4029384927U, // <2,0,6,3>: Cost 4 vzipr <0,4,2,6>, <3,1,0,3>
+    1142522060U, // <2,0,6,4>: Cost 2 vrev <0,2,4,6>
+    3899836353U, // <2,0,6,5>: Cost 4 vuzpr <1,2,3,0>, <2,6,4,5>
+    2867899764U, // <2,0,6,6>: Cost 3 vuzpr <u,2,3,0>, <4,6,4,6>
+    2826094522U, // <2,0,6,7>: Cost 3 vuzpr <1,2,3,0>, <2,6,3,7>
+    1142817008U, // <2,0,6,u>: Cost 2 vrev <0,2,u,6>
     2659202049U, // <2,0,7,0>: Cost 3 vext2 <7,0,2,0>, <7,0,2,0>
-    3726308437U, // <2,0,7,1>: Cost 4 vext2 <5,u,2,0>, <7,1,2,3>
-    2726249034U, // <2,0,7,2>: Cost 3 vext3 <7,0,1,2>, <0,7,2,1>
-    3734934772U, // <2,0,7,3>: Cost 4 vext2 <7,3,2,0>, <7,3,2,0>
-    3726308710U, // <2,0,7,4>: Cost 4 vext2 <5,u,2,0>, <7,4,5,6>
-    3726308814U, // <2,0,7,5>: Cost 4 vext2 <5,u,2,0>, <7,5,u,2>
-    3736925671U, // <2,0,7,6>: Cost 4 vext2 <7,6,2,0>, <7,6,2,0>
-    3726308972U, // <2,0,7,7>: Cost 4 vext2 <5,u,2,0>, <7,7,7,7>
-    2659202049U, // <2,0,7,u>: Cost 3 vext2 <7,0,2,0>, <7,0,2,0>
-    1477787750U, // <2,0,u,0>: Cost 2 vext1 <0,2,0,u>, LHS
-    2953668262U, // <2,0,u,1>: Cost 3 vzipr LHS, <2,3,0,1>
-    1611956893U, // <2,0,u,2>: Cost 2 vext3 <0,2,0,2>, LHS
-    2551531670U, // <2,0,u,3>: Cost 3 vext1 <0,2,0,u>, <3,0,1,2>
+    2867901262U, // <2,0,7,1>: Cost 3 vuzpr <u,2,3,0>, <6,7,0,1>
+    2956976292U, // <2,0,7,2>: Cost 3 vzipr <0,6,2,7>, <0,2,0,2>
+    2867900544U, // <2,0,7,3>: Cost 3 vuzpr <u,2,3,0>, <5,7,1,3>
+    4174448072U, // <2,0,7,4>: Cost 4 vtrnr <2,2,5,7>, <2,0,2,4>
+    2867901302U, // <2,0,7,5>: Cost 3 vuzpr <u,2,3,0>, <6,7,4,5>
+    2216419551U, // <2,0,7,6>: Cost 3 vrev <0,2,6,7>
+    2867900584U, // <2,0,7,7>: Cost 3 vuzpr <u,2,3,0>, <5,7,5,7>
+    2867900549U, // <2,0,7,u>: Cost 3 vuzpr <u,2,3,0>, <5,7,1,u>
+    1879924736U, // <2,0,u,0>: Cost 2 vzipr LHS, <0,0,0,0>
+    1879926438U, // <2,0,u,1>: Cost 2 vzipr LHS, <2,3,0,1>
+    1879924900U, // <2,0,u,2>: Cost 2 vzipr LHS, <0,2,0,2>
+    1752351389U, // <2,0,u,3>: Cost 2 vuzpr <1,2,3,0>, LHS
     1477791030U, // <2,0,u,4>: Cost 2 vext1 <0,2,0,u>, RHS
     2618726554U, // <2,0,u,5>: Cost 3 vext2 <0,2,2,0>, RHS
-    2765412506U, // <2,0,u,6>: Cost 3 vuzpl <2,3,0,1>, RHS
-    2826096169U, // <2,0,u,7>: Cost 3 vuzpr <1,2,3,0>, RHS
-    1611956947U, // <2,0,u,u>: Cost 2 vext3 <0,2,0,2>, LHS
-    2569453670U, // <2,1,0,0>: Cost 3 vext1 <3,2,1,0>, LHS
-    2619392102U, // <2,1,0,1>: Cost 3 vext2 <0,3,2,1>, LHS
-    3759440619U, // <2,1,0,2>: Cost 4 vext3 <0,2,0,2>, <1,0,2,0>
+    1691670682U, // <2,0,u,6>: Cost 2 vuzpl <2,3,0,1>, RHS
+    1752354345U, // <2,0,u,7>: Cost 2 vuzpr <1,2,3,0>, RHS
+    1879924906U, // <2,0,u,u>: Cost 2 vzipr LHS, <0,2,0,u>
+    2763497636U, // <2,1,0,0>: Cost 3 vuzpl <2,0,1,2>, <0,2,0,2>
+    2819907594U, // <2,1,0,1>: Cost 3 vuzpr <0,2,0,1>, <0,0,1,1>
+    2820130966U, // <2,1,0,2>: Cost 3 vuzpr <0,2,3,1>, <3,0,1,2>
     1616823030U, // <2,1,0,3>: Cost 2 vext3 <1,0,3,2>, <1,0,3,2>
-    2569456950U, // <2,1,0,4>: Cost 3 vext1 <3,2,1,0>, RHS
-    2690712328U, // <2,1,0,5>: Cost 3 vext3 <1,0,5,2>, <1,0,5,2>
-    3661115841U, // <2,1,0,6>: Cost 4 vext1 <6,2,1,0>, <6,2,1,0>
+    2767487180U, // <2,1,0,4>: Cost 3 vuzpl <2,6,1,3>, <0,2,4,6>
+    3033842688U, // <2,1,0,5>: Cost 3 vtrnl <2,3,0,1>, <1,3,5,7>
+    4168269947U, // <2,1,0,6>: Cost 4 vtrnr <1,2,3,0>, <0,1,4,6>
     2622046794U, // <2,1,0,7>: Cost 3 vext2 <0,7,2,1>, <0,7,2,1>
     1617191715U, // <2,1,0,u>: Cost 2 vext3 <1,0,u,2>, <1,0,u,2>
-    2551545958U, // <2,1,1,0>: Cost 3 vext1 <0,2,1,1>, LHS
+    2551546028U, // <2,1,1,0>: Cost 3 vext1 <0,2,1,1>, <0,2,1,1>
     2685698868U, // <2,1,1,1>: Cost 3 vext3 <0,2,0,2>, <1,1,1,1>
-    2628682646U, // <2,1,1,2>: Cost 3 vext2 <1,u,2,1>, <1,2,3,0>
-    2685698888U, // <2,1,1,3>: Cost 3 vext3 <0,2,0,2>, <1,1,3,3>
+    2954938518U, // <2,1,1,2>: Cost 3 vzipr <0,3,2,1>, <3,0,1,2>
+    2819907686U, // <2,1,1,3>: Cost 3 vuzpr <0,2,0,1>, LHS
     2551549238U, // <2,1,1,4>: Cost 3 vext1 <0,2,1,1>, RHS
-    3693134992U, // <2,1,1,5>: Cost 4 vext2 <0,3,2,1>, <1,5,3,7>
-    3661124034U, // <2,1,1,6>: Cost 4 vext1 <6,2,1,1>, <6,2,1,1>
-    3625292794U, // <2,1,1,7>: Cost 4 vext1 <0,2,1,1>, <7,0,1,2>
-    2685698933U, // <2,1,1,u>: Cost 3 vext3 <0,2,0,2>, <1,1,u,3>
-    2551554150U, // <2,1,2,0>: Cost 3 vext1 <0,2,1,2>, LHS
-    3893649571U, // <2,1,2,1>: Cost 4 vuzpr <0,2,0,1>, <0,2,0,1>
+    3893649530U, // <2,1,1,5>: Cost 4 vuzpr <0,2,0,1>, <0,1,4,5>
+    3893723259U, // <2,1,1,6>: Cost 4 vuzpr <0,2,1,1>, <0,1,4,6>
+    4162086455U, // <2,1,1,7>: Cost 4 vtrnr <0,2,0,1>, <2,1,5,7>
+    2819907691U, // <2,1,1,u>: Cost 3 vuzpr <0,2,0,1>, LHS
+    2551554221U, // <2,1,2,0>: Cost 3 vext1 <0,2,1,2>, <0,2,1,2>
+    2819907747U, // <2,1,2,1>: Cost 3 vuzpr <0,2,0,1>, <0,2,0,1>
     2551555688U, // <2,1,2,2>: Cost 3 vext1 <0,2,1,2>, <2,2,2,2>
-    2685698966U, // <2,1,2,3>: Cost 3 vext3 <0,2,0,2>, <1,2,3,0>
+    2014609510U, // <2,1,2,3>: Cost 2 vtrnr <0,2,0,2>, LHS
     2551557430U, // <2,1,2,4>: Cost 3 vext1 <0,2,1,2>, RHS
-    3763422123U, // <2,1,2,5>: Cost 4 vext3 <0,u,0,2>, <1,2,5,3>
-    3693135802U, // <2,1,2,6>: Cost 4 vext2 <0,3,2,1>, <2,6,3,7>
+    2958262610U, // <2,1,2,5>: Cost 3 vzipr <0,u,2,2>, <0,4,1,5>
+    3893649612U, // <2,1,2,6>: Cost 4 vuzpr <0,2,0,1>, <0,2,4,6>
     2726249402U, // <2,1,2,7>: Cost 3 vext3 <7,0,1,2>, <1,2,7,0>
-    2685699011U, // <2,1,2,u>: Cost 3 vext3 <0,2,0,2>, <1,2,u,0>
-    2551562342U, // <2,1,3,0>: Cost 3 vext1 <0,2,1,3>, LHS
-    2953625610U, // <2,1,3,1>: Cost 3 vzipr LHS, <0,0,1,1>
-    2953627798U, // <2,1,3,2>: Cost 3 vzipr LHS, <3,0,1,2>
-    2953626584U, // <2,1,3,3>: Cost 3 vzipr LHS, <1,3,1,3>
-    2551565622U, // <2,1,3,4>: Cost 3 vext1 <0,2,1,3>, RHS
-    2953625938U, // <2,1,3,5>: Cost 3 vzipr LHS, <0,4,1,5>
-    2587398596U, // <2,1,3,6>: Cost 3 vext1 <6,2,1,3>, <6,2,1,3>
-    4032013519U, // <2,1,3,7>: Cost 4 vzipr LHS, <1,6,1,7>
-    2953625617U, // <2,1,3,u>: Cost 3 vzipr LHS, <0,0,1,u>
+    2014609515U, // <2,1,2,u>: Cost 2 vtrnr <0,2,0,2>, LHS
+    2953625609U, // <2,1,3,0>: Cost 3 vzipr LHS, <0,0,1,0>
+    1879883786U, // <2,1,3,1>: Cost 2 vzipr LHS, <0,0,1,1>
+    1879885974U, // <2,1,3,2>: Cost 2 vzipr LHS, <3,0,1,2>
+    1879884760U, // <2,1,3,3>: Cost 2 vzipr LHS, <1,3,1,3>
+    2953625856U, // <2,1,3,4>: Cost 3 vzipr LHS, <0,3,1,4>
+    1879884114U, // <2,1,3,5>: Cost 2 vzipr LHS, <0,4,1,5>
+    2958270641U, // <2,1,3,6>: Cost 3 vzipr LHS, <0,2,1,6>
+    2958271695U, // <2,1,3,7>: Cost 3 vzipr LHS, <1,6,1,7>
+    1879883793U, // <2,1,3,u>: Cost 2 vzipr LHS, <0,0,1,u>
     2690565154U, // <2,1,4,0>: Cost 3 vext3 <1,0,3,2>, <1,4,0,5>
-    3625313270U, // <2,1,4,1>: Cost 4 vext1 <0,2,1,4>, <1,3,4,6>
-    3771532340U, // <2,1,4,2>: Cost 4 vext3 <2,2,2,2>, <1,4,2,5>
+    3094561588U, // <2,1,4,1>: Cost 3 vtrnr <1,2,3,4>, <1,1,1,1>
+    2900378522U, // <2,1,4,2>: Cost 3 vzipl <2,4,1,3>, <1,2,3,4>
     1148404634U, // <2,1,4,3>: Cost 2 vrev <1,2,3,4>
     3625315638U, // <2,1,4,4>: Cost 4 vext1 <0,2,1,4>, RHS
     2619395382U, // <2,1,4,5>: Cost 3 vext2 <0,3,2,1>, RHS
-    3837242678U, // <2,1,4,6>: Cost 4 vuzpl <2,0,1,2>, RHS
-    3799991394U, // <2,1,4,7>: Cost 4 vext3 <7,0,1,2>, <1,4,7,6>
-    1148773319U, // <2,1,4,u>: Cost 2 vrev <1,2,u,4>
-    2551578726U, // <2,1,5,0>: Cost 3 vext1 <0,2,1,5>, LHS
+    2763500854U, // <2,1,4,6>: Cost 3 vuzpl <2,0,1,2>, RHS
+    4168303454U, // <2,1,4,7>: Cost 4 vtrnr <1,2,3,4>, <1,1,5,7>
+    2020819051U, // <2,1,4,u>: Cost 2 vtrnr <1,2,3,4>, LHS
+    2551578800U, // <2,1,5,0>: Cost 3 vext1 <0,2,1,5>, <0,2,1,5>
     2551579648U, // <2,1,5,1>: Cost 3 vext1 <0,2,1,5>, <1,3,5,7>
-    3625321952U, // <2,1,5,2>: Cost 4 vext1 <0,2,1,5>, <2,0,5,1>
+    2901001110U, // <2,1,5,2>: Cost 3 vzipl <2,5,0,7>, <1,2,3,0>
     2685699216U, // <2,1,5,3>: Cost 3 vext3 <0,2,0,2>, <1,5,3,7>
     2551582006U, // <2,1,5,4>: Cost 3 vext1 <0,2,1,5>, RHS
-    3740913668U, // <2,1,5,5>: Cost 4 vext2 <u,3,2,1>, <5,5,5,5>
+    4027383984U, // <2,1,5,5>: Cost 4 vzipr <0,1,2,5>, <0,2,1,5>
     3661156806U, // <2,1,5,6>: Cost 4 vext1 <6,2,1,5>, <6,2,1,5>
-    3893652790U, // <2,1,5,7>: Cost 4 vuzpr <0,2,0,1>, RHS
-    2685699261U, // <2,1,5,u>: Cost 3 vext3 <0,2,0,2>, <1,5,u,7>
-    2551586918U, // <2,1,6,0>: Cost 3 vext1 <0,2,1,6>, LHS
-    3625329398U, // <2,1,6,1>: Cost 4 vext1 <0,2,1,6>, <1,0,3,2>
+    2819910966U, // <2,1,5,7>: Cost 3 vuzpr <0,2,0,1>, RHS
+    2819910967U, // <2,1,5,u>: Cost 3 vuzpr <0,2,0,1>, RHS
+    2551586993U, // <2,1,6,0>: Cost 3 vext1 <0,2,1,6>, <0,2,1,6>
+    3088679732U, // <2,1,6,1>: Cost 3 vtrnr <0,2,4,6>, <1,1,1,1>
     2551588794U, // <2,1,6,2>: Cost 3 vext1 <0,2,1,6>, <2,6,3,7>
-    3088679014U, // <2,1,6,3>: Cost 3 vtrnr <0,2,4,6>, LHS
+    2014937190U, // <2,1,6,3>: Cost 2 vtrnr <0,2,4,6>, LHS
     2551590198U, // <2,1,6,4>: Cost 3 vext1 <0,2,1,6>, RHS
-    4029382994U, // <2,1,6,5>: Cost 4 vzipr <0,4,2,6>, <0,4,1,5>
-    3625333560U, // <2,1,6,6>: Cost 4 vext1 <0,2,1,6>, <6,6,6,6>
-    3731624800U, // <2,1,6,7>: Cost 4 vext2 <6,7,2,1>, <6,7,2,1>
-    2551592750U, // <2,1,6,u>: Cost 3 vext1 <0,2,1,6>, LHS
+    2955641170U, // <2,1,6,5>: Cost 3 vzipr <0,4,2,6>, <0,4,1,5>
+    2901886177U, // <2,1,6,6>: Cost 3 vzipl <2,6,3,7>, <1,6,3,7>
+    3893651386U, // <2,1,6,7>: Cost 4 vuzpr <0,2,0,1>, <2,6,3,7>
+    2014937195U, // <2,1,6,u>: Cost 2 vtrnr <0,2,4,6>, LHS
     2622051322U, // <2,1,7,0>: Cost 3 vext2 <0,7,2,1>, <7,0,1,2>
-    3733615699U, // <2,1,7,1>: Cost 4 vext2 <7,1,2,1>, <7,1,2,1>
-    3795125538U, // <2,1,7,2>: Cost 4 vext3 <6,1,7,2>, <1,7,2,0>
-    2222171037U, // <2,1,7,3>: Cost 3 vrev <1,2,3,7>
-    3740915046U, // <2,1,7,4>: Cost 4 vext2 <u,3,2,1>, <7,4,5,6>
-    3296060335U, // <2,1,7,5>: Cost 4 vrev <1,2,5,7>
-    3736933864U, // <2,1,7,6>: Cost 4 vext2 <7,6,2,1>, <7,6,2,1>
-    3805300055U, // <2,1,7,7>: Cost 4 vext3 <7,u,1,2>, <1,7,7,u>
-    2669827714U, // <2,1,7,u>: Cost 3 vext2 <u,7,2,1>, <7,u,1,2>
-    2551603302U, // <2,1,u,0>: Cost 3 vext1 <0,2,1,u>, LHS
-    2953666570U, // <2,1,u,1>: Cost 3 vzipr LHS, <0,0,1,1>
-    2953668758U, // <2,1,u,2>: Cost 3 vzipr LHS, <3,0,1,2>
-    1148437406U, // <2,1,u,3>: Cost 2 vrev <1,2,3,u>
-    2551606582U, // <2,1,u,4>: Cost 3 vext1 <0,2,1,u>, RHS
-    2953666898U, // <2,1,u,5>: Cost 3 vzipr LHS, <0,4,1,5>
-    2587398596U, // <2,1,u,6>: Cost 3 vext1 <6,2,1,3>, <6,2,1,3>
-    2669828370U, // <2,1,u,7>: Cost 3 vext2 <u,7,2,1>, <u,7,2,1>
-    1148806091U, // <2,1,u,u>: Cost 2 vrev <1,2,u,u>
-    1543667732U, // <2,2,0,0>: Cost 2 vext2 <0,0,2,2>, <0,0,2,2>
+    4030717962U, // <2,1,7,1>: Cost 4 vzipr <0,6,2,7>, <0,0,1,1>
+    3001439874U, // <2,1,7,2>: Cost 3 vzipr <u,1,2,7>, <7,u,1,2>
+    3100704870U, // <2,1,7,3>: Cost 3 vtrnr <2,2,5,7>, LHS
+    3732288870U, // <2,1,7,4>: Cost 4 vext2 <6,u,2,1>, <7,4,5,6>
+    4030718290U, // <2,1,7,5>: Cost 4 vzipr <0,6,2,7>, <0,4,1,5>
+    3732289006U, // <2,1,7,6>: Cost 4 vext2 <6,u,2,1>, <7,6,2,7>
+    3929485480U, // <2,1,7,7>: Cost 4 vuzpr <6,2,0,1>, <5,7,5,7>
+    3100704875U, // <2,1,7,u>: Cost 3 vtrnr <2,2,5,7>, LHS
+    2953666569U, // <2,1,u,0>: Cost 3 vzipr LHS, <0,0,1,0>
+    1879924746U, // <2,1,u,1>: Cost 2 vzipr LHS, <0,0,1,1>
+    1879926934U, // <2,1,u,2>: Cost 2 vzipr LHS, <3,0,1,2>
+    1879925720U, // <2,1,u,3>: Cost 2 vzipr LHS, <1,3,1,3>
+    2953666573U, // <2,1,u,4>: Cost 3 vzipr LHS, <0,0,1,4>
+    1879925074U, // <2,1,u,5>: Cost 2 vzipr LHS, <0,4,1,5>
+    2953666737U, // <2,1,u,6>: Cost 3 vzipr LHS, <0,2,1,6>
+    2819911209U, // <2,1,u,7>: Cost 3 vuzpr <0,2,0,1>, RHS
+    1879924753U, // <2,1,u,u>: Cost 2 vzipr LHS, <0,0,1,u>
+    2020787094U, // <2,2,0,0>: Cost 2 vtrnr <1,2,3,0>, <1,2,3,0>
     1548976230U, // <2,2,0,1>: Cost 2 vext2 <0,u,2,2>, LHS
-    2685699524U, // <2,2,0,2>: Cost 3 vext3 <0,2,0,2>, <2,0,2,0>
+    1691156582U, // <2,2,0,2>: Cost 2 vuzpl <2,2,2,2>, LHS
     2685699535U, // <2,2,0,3>: Cost 3 vext3 <0,2,0,2>, <2,0,3,2>
-    2551614774U, // <2,2,0,4>: Cost 3 vext1 <0,2,2,0>, RHS
-    3704422830U, // <2,2,0,5>: Cost 4 vext2 <2,2,2,2>, <0,5,2,7>
-    3893657642U, // <2,2,0,6>: Cost 4 vuzpr <0,2,0,2>, <0,0,4,6>
-    3770574323U, // <2,2,0,7>: Cost 4 vext3 <2,0,7,2>, <2,0,7,2>
+    2819917256U, // <2,2,0,4>: Cost 3 vuzpr <0,2,0,2>, <2,0,2,4>
+    3893657614U, // <2,2,0,5>: Cost 4 vuzpr <0,2,0,2>, <0,0,1,5>
+    2819915818U, // <2,2,0,6>: Cost 3 vuzpr <0,2,0,2>, <0,0,4,6>
+    4168270038U, // <2,2,0,7>: Cost 4 vtrnr <1,2,3,0>, <0,2,5,7>
     1548976796U, // <2,2,0,u>: Cost 2 vext2 <0,u,2,2>, <0,u,2,2>
     2622718710U, // <2,2,1,0>: Cost 3 vext2 <0,u,2,2>, <1,0,3,2>
-    2622718772U, // <2,2,1,1>: Cost 3 vext2 <0,u,2,2>, <1,1,1,1>
+    3088343203U, // <2,2,1,1>: Cost 3 vtrnr <0,2,0,1>, <0,2,0,1>
     2622718870U, // <2,2,1,2>: Cost 3 vext2 <0,u,2,2>, <1,2,3,0>
-    2819915878U, // <2,2,1,3>: Cost 3 vuzpr <0,2,0,2>, LHS
-    3625364790U, // <2,2,1,4>: Cost 4 vext1 <0,2,2,1>, RHS
+    1746174054U, // <2,2,1,3>: Cost 2 vuzpr <0,2,0,2>, LHS
+    4162085786U, // <2,2,1,4>: Cost 4 vtrnr <0,2,0,1>, <1,2,3,4>
     2622719120U, // <2,2,1,5>: Cost 3 vext2 <0,u,2,2>, <1,5,3,7>
-    3760031292U, // <2,2,1,6>: Cost 4 vext3 <0,2,u,2>, <2,1,6,3>
-    3667170468U, // <2,2,1,7>: Cost 4 vext1 <7,2,2,1>, <7,2,2,1>
-    2819915883U, // <2,2,1,u>: Cost 3 vuzpr <0,2,0,2>, LHS
+    4162085068U, // <2,2,1,6>: Cost 4 vtrnr <0,2,0,1>, <0,2,4,6>
+    4168278230U, // <2,2,1,7>: Cost 4 vtrnr <1,2,3,1>, <0,2,5,7>
+    1746174059U, // <2,2,1,u>: Cost 2 vuzpr <0,2,0,2>, LHS
     1489829990U, // <2,2,2,0>: Cost 2 vext1 <2,2,2,2>, LHS
-    2563572470U, // <2,2,2,1>: Cost 3 vext1 <2,2,2,2>, <1,0,3,2>
+    2820511595U, // <2,2,2,1>: Cost 3 vuzpr <0,2,u,2>, <u,2,0,1>
     269271142U,  // <2,2,2,2>: Cost 1 vdup2 LHS
-    2685699698U, // <2,2,2,3>: Cost 3 vext3 <0,2,0,2>, <2,2,3,3>
+    1884520550U, // <2,2,2,3>: Cost 2 vzipr <0,u,2,2>, LHS
     1489833270U, // <2,2,2,4>: Cost 2 vext1 <2,2,2,2>, RHS
-    2685699720U, // <2,2,2,5>: Cost 3 vext3 <0,2,0,2>, <2,2,5,7>
-    2622719930U, // <2,2,2,6>: Cost 3 vext2 <0,u,2,2>, <2,6,3,7>
-    2593436837U, // <2,2,2,7>: Cost 3 vext1 <7,2,2,2>, <7,2,2,2>
+    2819915979U, // <2,2,2,5>: Cost 3 vuzpr <0,2,0,2>, <0,2,4,5>
+    2819915980U, // <2,2,2,6>: Cost 3 vuzpr <0,2,0,2>, <0,2,4,6>
+    3088352904U, // <2,2,2,7>: Cost 3 vtrnr <0,2,0,2>, <2,2,5,7>
     269271142U,  // <2,2,2,u>: Cost 1 vdup2 LHS
-    2685699750U, // <2,2,3,0>: Cost 3 vext3 <0,2,0,2>, <2,3,0,1>
-    2690565806U, // <2,2,3,1>: Cost 3 vext3 <1,0,3,2>, <2,3,1,0>
-    2953627240U, // <2,2,3,2>: Cost 3 vzipr LHS, <2,2,2,2>
-    1879883878U, // <2,2,3,3>: Cost 2 vzipr LHS, LHS
-    2685699790U, // <2,2,3,4>: Cost 3 vext3 <0,2,0,2>, <2,3,4,5>
-    3893659342U, // <2,2,3,5>: Cost 4 vuzpr <0,2,0,2>, <2,3,4,5>
-    2958270812U, // <2,2,3,6>: Cost 3 vzipr LHS, <0,4,2,6>
-    2593445030U, // <2,2,3,7>: Cost 3 vext1 <7,2,2,3>, <7,2,2,3>
-    1879883883U, // <2,2,3,u>: Cost 2 vzipr LHS, LHS
-    2551644262U, // <2,2,4,0>: Cost 3 vext1 <0,2,2,4>, LHS
+    2953625780U, // <2,2,3,0>: Cost 3 vzipr LHS, <0,2,2,0>
+    2819917478U, // <2,2,3,1>: Cost 3 vuzpr <0,2,0,2>, <2,3,0,1>
+    1879885416U, // <2,2,3,2>: Cost 2 vzipr LHS, <2,2,2,2>
+    806142054U,  // <2,2,3,3>: Cost 1 vzipr LHS, LHS
+    2953625784U, // <2,2,3,4>: Cost 3 vzipr LHS, <0,2,2,4>
+    2819917518U, // <2,2,3,5>: Cost 3 vuzpr <0,2,0,2>, <2,3,4,5>
+    1884528988U, // <2,2,3,6>: Cost 2 vzipr LHS, <0,4,2,6>
+    2819916800U, // <2,2,3,7>: Cost 3 vuzpr <0,2,0,2>, <1,3,5,7>
+    806142059U,  // <2,2,3,u>: Cost 1 vzipr LHS, LHS
+    2551644344U, // <2,2,4,0>: Cost 3 vext1 <0,2,2,4>, <0,2,2,4>
     3625386742U, // <2,2,4,1>: Cost 4 vext1 <0,2,2,4>, <1,0,3,2>
     2551645902U, // <2,2,4,2>: Cost 3 vext1 <0,2,2,4>, <2,3,4,5>
-    3759441686U, // <2,2,4,3>: Cost 4 vext3 <0,2,0,2>, <2,4,3,5>
-    2551647542U, // <2,2,4,4>: Cost 3 vext1 <0,2,2,4>, RHS
+    2954297446U, // <2,2,4,3>: Cost 3 vzipr <0,2,2,4>, LHS
+    2020819866U, // <2,2,4,4>: Cost 2 vtrnr <1,2,3,4>, <1,2,3,4>
     1548979510U, // <2,2,4,5>: Cost 2 vext2 <0,u,2,2>, RHS
-    2764901686U, // <2,2,4,6>: Cost 3 vuzpl <2,2,2,2>, RHS
-    3667195047U, // <2,2,4,7>: Cost 4 vext1 <7,2,2,4>, <7,2,2,4>
+    1691159862U, // <2,2,4,6>: Cost 2 vuzpl <2,2,2,2>, RHS
+    4168302806U, // <2,2,4,7>: Cost 4 vtrnr <1,2,3,4>, <0,2,5,7>
     1548979753U, // <2,2,4,u>: Cost 2 vext2 <0,u,2,2>, RHS
-    3696463432U, // <2,2,5,0>: Cost 4 vext2 <0,u,2,2>, <5,0,1,2>
-    2617413328U, // <2,2,5,1>: Cost 3 vext2 <0,0,2,2>, <5,1,7,3>
-    2685699936U, // <2,2,5,2>: Cost 3 vext3 <0,2,0,2>, <2,5,2,7>
-    4027383910U, // <2,2,5,3>: Cost 4 vzipr <0,1,2,5>, LHS
+    2617413246U, // <2,2,5,0>: Cost 3 vext2 <0,0,2,2>, <5,0,7,2>
+    2670497488U, // <2,2,5,1>: Cost 3 vext2 <u,u,2,2>, <5,1,7,3>
+    3088670884U, // <2,2,5,2>: Cost 3 vtrnr <0,2,4,5>, <0,2,0,2>
+    2953642086U, // <2,2,5,3>: Cost 3 vzipr <0,1,2,5>, LHS
     2228201085U, // <2,2,5,4>: Cost 3 vrev <2,2,4,5>
-    2617413636U, // <2,2,5,5>: Cost 3 vext2 <0,0,2,2>, <5,5,5,5>
-    2617413730U, // <2,2,5,6>: Cost 3 vext2 <0,0,2,2>, <5,6,7,0>
-    2819919158U, // <2,2,5,7>: Cost 3 vuzpr <0,2,0,2>, RHS
-    2819919159U, // <2,2,5,u>: Cost 3 vuzpr <0,2,0,2>, RHS
-    3625402554U, // <2,2,6,0>: Cost 4 vext1 <0,2,2,6>, <0,2,2,6>
-    3760031652U, // <2,2,6,1>: Cost 4 vext3 <0,2,u,2>, <2,6,1,3>
-    2617414138U, // <2,2,6,2>: Cost 3 vext2 <0,0,2,2>, <6,2,7,3>
-    2685700026U, // <2,2,6,3>: Cost 3 vext3 <0,2,0,2>, <2,6,3,7>
-    3625405750U, // <2,2,6,4>: Cost 4 vext1 <0,2,2,6>, RHS
-    3760031692U, // <2,2,6,5>: Cost 4 vext3 <0,2,u,2>, <2,6,5,7>
-    3088679116U, // <2,2,6,6>: Cost 3 vtrnr <0,2,4,6>, <0,2,4,6>
-    2657891169U, // <2,2,6,7>: Cost 3 vext2 <6,7,2,2>, <6,7,2,2>
-    2685700071U, // <2,2,6,u>: Cost 3 vext3 <0,2,0,2>, <2,6,u,7>
+    2953642088U, // <2,2,5,5>: Cost 3 vzipr <0,1,2,5>, <0,1,2,5>
+    2670497890U, // <2,2,5,6>: Cost 3 vext2 <u,u,2,2>, <5,6,7,0>
+    1746177334U, // <2,2,5,7>: Cost 2 vuzpr <0,2,0,2>, RHS
+    1746177335U, // <2,2,5,u>: Cost 2 vuzpr <0,2,0,2>, RHS
+    3088679830U, // <2,2,6,0>: Cost 3 vtrnr <0,2,4,6>, <1,2,3,0>
+    4162420899U, // <2,2,6,1>: Cost 4 vtrnr <0,2,4,6>, <0,2,0,1>
+    3088679076U, // <2,2,6,2>: Cost 3 vtrnr <0,2,4,6>, <0,2,0,2>
+    1881899110U, // <2,2,6,3>: Cost 2 vzipr <0,4,2,6>, LHS
+    3088679078U, // <2,2,6,4>: Cost 3 vtrnr <0,2,4,6>, <0,2,0,4>
+    4162420912U, // <2,2,6,5>: Cost 4 vtrnr <0,2,4,6>, <0,2,1,5>
+    2014937292U, // <2,2,6,6>: Cost 2 vtrnr <0,2,4,6>, <0,2,4,6>
+    2819917754U, // <2,2,6,7>: Cost 3 vuzpr <0,2,0,2>, <2,6,3,7>
+    1881899115U, // <2,2,6,u>: Cost 2 vzipr <0,4,2,6>, LHS
     2726250474U, // <2,2,7,0>: Cost 3 vext3 <7,0,1,2>, <2,7,0,1>
-    3704427616U, // <2,2,7,1>: Cost 4 vext2 <2,2,2,2>, <7,1,3,5>
-    2660545701U, // <2,2,7,2>: Cost 3 vext2 <7,2,2,2>, <7,2,2,2>
-    4030718054U, // <2,2,7,3>: Cost 4 vzipr <0,6,2,7>, LHS
-    2617415014U, // <2,2,7,4>: Cost 3 vext2 <0,0,2,2>, <7,4,5,6>
-    3302033032U, // <2,2,7,5>: Cost 4 vrev <2,2,5,7>
-    3661246929U, // <2,2,7,6>: Cost 4 vext1 <6,2,2,7>, <6,2,2,7>
-    2617415276U, // <2,2,7,7>: Cost 3 vext2 <0,0,2,2>, <7,7,7,7>
-    2731558962U, // <2,2,7,u>: Cost 3 vext3 <7,u,1,2>, <2,7,u,1>
-    1489829990U, // <2,2,u,0>: Cost 2 vext1 <2,2,2,2>, LHS
+    2867696462U, // <2,2,7,1>: Cost 3 vuzpr <u,2,0,2>, <6,7,0,1>
+    3100704932U, // <2,2,7,2>: Cost 3 vtrnr <2,2,5,7>, <0,2,0,2>
+    2956976230U, // <2,2,7,3>: Cost 3 vzipr <0,6,2,7>, LHS
+    2670499174U, // <2,2,7,4>: Cost 3 vext2 <u,u,2,2>, <7,4,5,6>
+    2228291208U, // <2,2,7,5>: Cost 3 vrev <2,2,5,7>
+    4030718300U, // <2,2,7,6>: Cost 4 vzipr <0,6,2,7>, <0,4,2,6>
+    2956976639U, // <2,2,7,7>: Cost 3 vzipr <0,6,2,7>, <0,6,2,7>
+    2956976235U, // <2,2,7,u>: Cost 3 vzipr <0,6,2,7>, LHS
+    2020787094U, // <2,2,u,0>: Cost 2 vtrnr <1,2,3,0>, <1,2,3,0>
     1548982062U, // <2,2,u,1>: Cost 2 vext2 <0,u,2,2>, LHS
     269271142U,  // <2,2,u,2>: Cost 1 vdup2 LHS
-    1879924838U, // <2,2,u,3>: Cost 2 vzipr LHS, LHS
+    806183014U,  // <2,2,u,3>: Cost 1 vzipr LHS, LHS
     1489833270U, // <2,2,u,4>: Cost 2 vext1 <2,2,2,2>, RHS
     1548982426U, // <2,2,u,5>: Cost 2 vext2 <0,u,2,2>, RHS
-    2953666908U, // <2,2,u,6>: Cost 3 vzipr LHS, <0,4,2,6>
-    2819919401U, // <2,2,u,7>: Cost 3 vuzpr <0,2,0,2>, RHS
-    269271142U,  // <2,2,u,u>: Cost 1 vdup2 LHS
+    1879925084U, // <2,2,u,6>: Cost 2 vzipr LHS, <0,4,2,6>
+    1746177577U, // <2,2,u,7>: Cost 2 vuzpr <0,2,0,2>, RHS
+    806183019U,  // <2,2,u,u>: Cost 1 vzipr LHS, LHS
     1544339456U, // <2,3,0,0>: Cost 2 vext2 LHS, <0,0,0,0>
     470597734U,  // <2,3,0,1>: Cost 1 vext2 LHS, LHS
     1548984484U, // <2,3,0,2>: Cost 2 vext2 LHS, <0,2,0,2>
     2619408648U, // <2,3,0,3>: Cost 3 vext2 <0,3,2,3>, <0,3,2,3>
     1548984658U, // <2,3,0,4>: Cost 2 vext2 LHS, <0,4,1,5>
-    2665857454U, // <2,3,0,5>: Cost 3 vext2 LHS, <0,5,2,7>
+    3094529742U, // <2,3,0,5>: Cost 3 vtrnr <1,2,3,0>, <2,3,4,5>
     2622726655U, // <2,3,0,6>: Cost 3 vext2 LHS, <0,6,2,7>
-    2593494188U, // <2,3,0,7>: Cost 3 vext1 <7,2,3,0>, <7,2,3,0>
+    3094529024U, // <2,3,0,7>: Cost 3 vtrnr <1,2,3,0>, <1,3,5,7>
     470598301U,  // <2,3,0,u>: Cost 1 vext2 LHS, LHS
     1544340214U, // <2,3,1,0>: Cost 2 vext2 LHS, <1,0,3,2>
     1544340276U, // <2,3,1,1>: Cost 2 vext2 LHS, <1,1,1,1>
@@ -1742,401 +1740,401 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2622727375U, // <2,3,1,6>: Cost 3 vext2 LHS, <1,6,1,7>
     2665858347U, // <2,3,1,7>: Cost 3 vext2 LHS, <1,7,3,0>
     1548985709U, // <2,3,1,u>: Cost 2 vext2 LHS, <1,u,1,3>
-    2622727613U, // <2,3,2,0>: Cost 3 vext2 LHS, <2,0,1,2>
-    2622727711U, // <2,3,2,1>: Cost 3 vext2 LHS, <2,1,3,1>
+    2958263190U, // <2,3,2,0>: Cost 3 vzipr <0,u,2,2>, <1,2,3,0>
+    3088352934U, // <2,3,2,1>: Cost 3 vtrnr <0,2,0,2>, <2,3,0,1>
     1544341096U, // <2,3,2,2>: Cost 2 vext2 LHS, <2,2,2,2>
     1544341158U, // <2,3,2,3>: Cost 2 vext2 LHS, <2,3,0,1>
-    2622727958U, // <2,3,2,4>: Cost 3 vext2 LHS, <2,4,3,5>
-    2622728032U, // <2,3,2,5>: Cost 3 vext2 LHS, <2,5,2,7>
+    2958263194U, // <2,3,2,4>: Cost 3 vzipr <0,u,2,2>, <1,2,3,4>
+    3088352974U, // <2,3,2,5>: Cost 3 vtrnr <0,2,0,2>, <2,3,4,5>
     1548986298U, // <2,3,2,6>: Cost 2 vext2 LHS, <2,6,3,7>
-    2665859050U, // <2,3,2,7>: Cost 3 vext2 LHS, <2,7,0,1>
+    3088352256U, // <2,3,2,7>: Cost 3 vtrnr <0,2,0,2>, <1,3,5,7>
     1548986427U, // <2,3,2,u>: Cost 2 vext2 LHS, <2,u,0,1>
-    1548986518U, // <2,3,3,0>: Cost 2 vext2 LHS, <3,0,1,2>
-    2622728415U, // <2,3,3,1>: Cost 3 vext2 LHS, <3,1,0,3>
-    1489913458U, // <2,3,3,2>: Cost 2 vext1 <2,2,3,3>, <2,2,3,3>
+    1879884694U, // <2,3,3,0>: Cost 2 vzipr LHS, <1,2,3,0>
+    2953625790U, // <2,3,3,1>: Cost 3 vzipr LHS, <0,2,3,1>
+    1879884534U, // <2,3,3,2>: Cost 2 vzipr LHS, <1,0,3,2>
     1544341916U, // <2,3,3,3>: Cost 2 vext2 LHS, <3,3,3,3>
-    1548986882U, // <2,3,3,4>: Cost 2 vext2 LHS, <3,4,5,6>
-    2665859632U, // <2,3,3,5>: Cost 3 vext2 LHS, <3,5,1,7>
-    2234304870U, // <2,3,3,6>: Cost 3 vrev <3,2,6,3>
-    2958271632U, // <2,3,3,7>: Cost 3 vzipr LHS, <1,5,3,7>
-    1548987166U, // <2,3,3,u>: Cost 2 vext2 LHS, <3,u,1,2>
+    1879884698U, // <2,3,3,4>: Cost 2 vzipr LHS, <1,2,3,4>
+    2953625794U, // <2,3,3,5>: Cost 3 vzipr LHS, <0,2,3,5>
+    2953627415U, // <2,3,3,6>: Cost 3 vzipr LHS, <2,4,3,6>
+    1884529808U, // <2,3,3,7>: Cost 2 vzipr LHS, <1,5,3,7>
+    1879884702U, // <2,3,3,u>: Cost 2 vzipr LHS, <1,2,3,u>
     1483948134U, // <2,3,4,0>: Cost 2 vext1 <1,2,3,4>, LHS
     1483948954U, // <2,3,4,1>: Cost 2 vext1 <1,2,3,4>, <1,2,3,4>
     2622729276U, // <2,3,4,2>: Cost 3 vext2 LHS, <4,2,6,0>
     2557692054U, // <2,3,4,3>: Cost 3 vext1 <1,2,3,4>, <3,0,1,2>
     1483951414U, // <2,3,4,4>: Cost 2 vext1 <1,2,3,4>, RHS
     470601014U,  // <2,3,4,5>: Cost 1 vext2 LHS, RHS
-    1592118644U, // <2,3,4,6>: Cost 2 vext2 LHS, <4,6,4,6>
-    2593526960U, // <2,3,4,7>: Cost 3 vext1 <7,2,3,4>, <7,2,3,4>
+    1691241782U, // <2,3,4,6>: Cost 2 vuzpl <2,2,3,3>, RHS
+    3094561792U, // <2,3,4,7>: Cost 3 vtrnr <1,2,3,4>, <1,3,5,7>
     470601257U,  // <2,3,4,u>: Cost 1 vext2 LHS, RHS
-    2551726182U, // <2,3,5,0>: Cost 3 vext1 <0,2,3,5>, LHS
+    2551726274U, // <2,3,5,0>: Cost 3 vext1 <0,2,3,5>, <0,2,3,5>
     1592118992U, // <2,3,5,1>: Cost 2 vext2 LHS, <5,1,7,3>
-    2665860862U, // <2,3,5,2>: Cost 3 vext2 LHS, <5,2,3,4>
+    2665860843U, // <2,3,5,2>: Cost 3 vext2 LHS, <5,2,1,3>
     2551728642U, // <2,3,5,3>: Cost 3 vext1 <0,2,3,5>, <3,4,5,6>
     1592119238U, // <2,3,5,4>: Cost 2 vext2 LHS, <5,4,7,6>
     1592119300U, // <2,3,5,5>: Cost 2 vext2 LHS, <5,5,5,5>
     1592119394U, // <2,3,5,6>: Cost 2 vext2 LHS, <5,6,7,0>
-    1592119464U, // <2,3,5,7>: Cost 2 vext2 LHS, <5,7,5,7>
-    1592119545U, // <2,3,5,u>: Cost 2 vext2 LHS, <5,u,5,7>
-    2622730529U, // <2,3,6,0>: Cost 3 vext2 LHS, <6,0,1,2>
-    2557707164U, // <2,3,6,1>: Cost 3 vext1 <1,2,3,6>, <1,2,3,6>
+    1758350646U, // <2,3,5,7>: Cost 2 vuzpr <2,2,3,3>, RHS
+    1758350647U, // <2,3,5,u>: Cost 2 vuzpr <2,2,3,3>, RHS
+    2955641750U, // <2,3,6,0>: Cost 3 vzipr <0,4,2,6>, <1,2,3,0>
+    3088680614U, // <2,3,6,1>: Cost 3 vtrnr <0,2,4,6>, <2,3,0,1>
     1592119802U, // <2,3,6,2>: Cost 2 vext2 LHS, <6,2,7,3>
-    2665861682U, // <2,3,6,3>: Cost 3 vext2 LHS, <6,3,4,5>
-    2622730893U, // <2,3,6,4>: Cost 3 vext2 LHS, <6,4,5,6>
-    2665861810U, // <2,3,6,5>: Cost 3 vext2 LHS, <6,5,0,7>
+    3088679896U, // <2,3,6,3>: Cost 3 vtrnr <0,2,4,6>, <1,3,1,3>
+    2955641754U, // <2,3,6,4>: Cost 3 vzipr <0,4,2,6>, <1,2,3,4>
+    3088680654U, // <2,3,6,5>: Cost 3 vtrnr <0,2,4,6>, <2,3,4,5>
     1592120120U, // <2,3,6,6>: Cost 2 vext2 LHS, <6,6,6,6>
     1592120142U, // <2,3,6,7>: Cost 2 vext2 LHS, <6,7,0,1>
     1592120223U, // <2,3,6,u>: Cost 2 vext2 LHS, <6,u,0,1>
     1592120314U, // <2,3,7,0>: Cost 2 vext2 LHS, <7,0,1,2>
-    2659890261U, // <2,3,7,1>: Cost 3 vext2 <7,1,2,3>, <7,1,2,3>
-    2660553894U, // <2,3,7,2>: Cost 3 vext2 <7,2,2,3>, <7,2,2,3>
-    2665862371U, // <2,3,7,3>: Cost 3 vext2 LHS, <7,3,0,1>
+    2856276814U, // <2,3,7,1>: Cost 3 vuzpr <6,2,7,3>, <6,7,0,1>
+    2974892790U, // <2,3,7,2>: Cost 3 vzipr <3,6,2,7>, <1,0,3,2>
+    2856276096U, // <2,3,7,3>: Cost 3 vuzpr <6,2,7,3>, <5,7,1,3>
     1592120678U, // <2,3,7,4>: Cost 2 vext2 LHS, <7,4,5,6>
-    2665862534U, // <2,3,7,5>: Cost 3 vext2 LHS, <7,5,0,2>
-    2665862614U, // <2,3,7,6>: Cost 3 vext2 LHS, <7,6,0,1>
+    2856276854U, // <2,3,7,5>: Cost 3 vuzpr <6,2,7,3>, <6,7,4,5>
+    2767672522U, // <2,3,7,6>: Cost 3 vuzpl <2,6,3,7>, <7,2,6,3>
     1592120940U, // <2,3,7,7>: Cost 2 vext2 LHS, <7,7,7,7>
     1592120962U, // <2,3,7,u>: Cost 2 vext2 LHS, <7,u,1,2>
-    1548990163U, // <2,3,u,0>: Cost 2 vext2 LHS, <u,0,1,2>
+    1879925654U, // <2,3,u,0>: Cost 2 vzipr LHS, <1,2,3,0>
     470603566U,  // <2,3,u,1>: Cost 1 vext2 LHS, LHS
-    1548990341U, // <2,3,u,2>: Cost 2 vext2 LHS, <u,2,3,0>
-    1548990396U, // <2,3,u,3>: Cost 2 vext2 LHS, <u,3,0,1>
-    1548990527U, // <2,3,u,4>: Cost 2 vext2 LHS, <u,4,5,6>
+    1879925494U, // <2,3,u,2>: Cost 2 vzipr LHS, <1,0,3,2>
+    1879925576U, // <2,3,u,3>: Cost 2 vzipr LHS, <1,1,3,3>
+    1879925658U, // <2,3,u,4>: Cost 2 vzipr LHS, <1,2,3,4>
     470603930U,  // <2,3,u,5>: Cost 1 vext2 LHS, RHS
     1548990672U, // <2,3,u,6>: Cost 2 vext2 LHS, <u,6,3,7>
-    1592121600U, // <2,3,u,7>: Cost 2 vext2 LHS, <u,7,0,1>
+    1879925904U, // <2,3,u,7>: Cost 2 vzipr LHS, <1,5,3,7>
     470604133U,  // <2,3,u,u>: Cost 1 vext2 LHS, LHS
-    2617425942U, // <2,4,0,0>: Cost 3 vext2 <0,0,2,4>, <0,0,2,4>
+    2826125312U, // <2,4,0,0>: Cost 3 vuzpr <1,2,3,4>, <0,0,0,0>
     2618753126U, // <2,4,0,1>: Cost 3 vext2 <0,2,2,4>, LHS
-    2618753208U, // <2,4,0,2>: Cost 3 vext2 <0,2,2,4>, <0,2,2,4>
+    1691992166U, // <2,4,0,2>: Cost 2 vuzpl <2,3,4,5>, LHS
     2619416841U, // <2,4,0,3>: Cost 3 vext2 <0,3,2,4>, <0,3,2,4>
-    2587593628U, // <2,4,0,4>: Cost 3 vext1 <6,2,4,0>, <4,0,6,2>
-    2712832914U, // <2,4,0,5>: Cost 3 vext3 <4,6,u,2>, <4,0,5,1>
-    1634962332U, // <2,4,0,6>: Cost 2 vext3 <4,0,6,2>, <4,0,6,2>
-    3799993252U, // <2,4,0,7>: Cost 4 vext3 <7,0,1,2>, <4,0,7,1>
-    1634962332U, // <2,4,0,u>: Cost 2 vext3 <4,0,6,2>, <4,0,6,2>
+    2765734092U, // <2,4,0,4>: Cost 3 vuzpl <2,3,4,5>, <0,2,4,6>
+    3094528338U, // <2,4,0,5>: Cost 3 vtrnr <1,2,3,0>, <0,4,1,5>
+    1960103222U, // <2,4,0,6>: Cost 2 vtrnl <2,3,0,1>, RHS
+    3899868646U, // <2,4,0,7>: Cost 4 vuzpr <1,2,3,4>, <2,0,5,7>
+    1960103240U, // <2,4,0,u>: Cost 2 vtrnl <2,3,0,1>, RHS
     2619417334U, // <2,4,1,0>: Cost 3 vext2 <0,3,2,4>, <1,0,3,2>
-    3692495668U, // <2,4,1,1>: Cost 4 vext2 <0,2,2,4>, <1,1,1,1>
+    2826126132U, // <2,4,1,1>: Cost 3 vuzpr <1,2,3,4>, <1,1,1,1>
     2625389466U, // <2,4,1,2>: Cost 3 vext2 <1,3,2,4>, <1,2,3,4>
-    2826125414U, // <2,4,1,3>: Cost 3 vuzpr <1,2,3,4>, LHS
-    3699794995U, // <2,4,1,4>: Cost 4 vext2 <1,4,2,4>, <1,4,2,4>
-    3692496016U, // <2,4,1,5>: Cost 4 vext2 <0,2,2,4>, <1,5,3,7>
-    3763424238U, // <2,4,1,6>: Cost 4 vext3 <0,u,0,2>, <4,1,6,3>
-    3667317942U, // <2,4,1,7>: Cost 4 vext1 <7,2,4,1>, <7,2,4,1>
-    2826125419U, // <2,4,1,u>: Cost 3 vuzpr <1,2,3,4>, LHS
-    2629371336U, // <2,4,2,0>: Cost 3 vext2 <2,0,2,4>, <2,0,2,4>
-    3699131946U, // <2,4,2,1>: Cost 4 vext2 <1,3,2,4>, <2,1,4,3>
-    2630698602U, // <2,4,2,2>: Cost 3 vext2 <2,2,2,4>, <2,2,2,4>
+    1752383590U, // <2,4,1,3>: Cost 2 vuzpr <1,2,3,4>, LHS
+    3899867959U, // <2,4,1,4>: Cost 4 vuzpr <1,2,3,4>, <1,1,1,4>
+    2898316598U, // <2,4,1,5>: Cost 3 vzipl <2,1,0,3>, RHS
+    3031936310U, // <2,4,1,6>: Cost 3 vtrnl <2,0,1,2>, RHS
+    3899867998U, // <2,4,1,7>: Cost 4 vuzpr <1,2,3,4>, <1,1,5,7>
+    1752383595U, // <2,4,1,u>: Cost 2 vuzpr <1,2,3,4>, LHS
+    2826126230U, // <2,4,2,0>: Cost 3 vuzpr <1,2,3,4>, <1,2,3,0>
+    4032004133U, // <2,4,2,1>: Cost 4 vzipr <0,u,2,2>, <0,0,4,1>
+    2826125476U, // <2,4,2,2>: Cost 3 vuzpr <1,2,3,4>, <0,2,0,2>
     2618754766U, // <2,4,2,3>: Cost 3 vext2 <0,2,2,4>, <2,3,4,5>
-    2826126234U, // <2,4,2,4>: Cost 3 vuzpr <1,2,3,4>, <1,2,3,4>
-    2899119414U, // <2,4,2,5>: Cost 3 vzipl <2,2,2,2>, RHS
-    3033337142U, // <2,4,2,6>: Cost 3 vtrnl <2,2,2,2>, RHS
-    3800214597U, // <2,4,2,7>: Cost 4 vext3 <7,0,4,2>, <4,2,7,0>
-    2899119657U, // <2,4,2,u>: Cost 3 vzipl <2,2,2,2>, RHS
-    2635344033U, // <2,4,3,0>: Cost 3 vext2 <3,0,2,4>, <3,0,2,4>
-    4032012325U, // <2,4,3,1>: Cost 4 vzipr LHS, <0,0,4,1>
-    3692497228U, // <2,4,3,2>: Cost 4 vext2 <0,2,2,4>, <3,2,3,4>
-    3692497308U, // <2,4,3,3>: Cost 4 vext2 <0,2,2,4>, <3,3,3,3>
-    3001404624U, // <2,4,3,4>: Cost 3 vzipr LHS, <4,4,4,4>
-    2953627342U, // <2,4,3,5>: Cost 3 vzipr LHS, <2,3,4,5>
-    2953625804U, // <2,4,3,6>: Cost 3 vzipr LHS, <0,2,4,6>
-    3899868160U, // <2,4,3,7>: Cost 4 vuzpr <1,2,3,4>, <1,3,5,7>
-    2953625806U, // <2,4,3,u>: Cost 3 vzipr LHS, <0,2,4,u>
-    2710916266U, // <2,4,4,0>: Cost 3 vext3 <4,4,0,2>, <4,4,0,2>
-    3899869648U, // <2,4,4,1>: Cost 4 vuzpr <1,2,3,4>, <3,4,0,1>
-    3899869658U, // <2,4,4,2>: Cost 4 vuzpr <1,2,3,4>, <3,4,1,2>
-    3899868930U, // <2,4,4,3>: Cost 4 vuzpr <1,2,3,4>, <2,4,1,3>
-    2712833232U, // <2,4,4,4>: Cost 3 vext3 <4,6,u,2>, <4,4,4,4>
+    1752384410U, // <2,4,2,4>: Cost 2 vuzpr <1,2,3,4>, <1,2,3,4>
+    1825377590U, // <2,4,2,5>: Cost 2 vzipl <2,2,2,2>, RHS
+    1959595318U, // <2,4,2,6>: Cost 2 vtrnl <2,2,2,2>, RHS
+    3899867350U, // <2,4,2,7>: Cost 4 vuzpr <1,2,3,4>, <0,2,5,7>
+    1825377833U, // <2,4,2,u>: Cost 2 vzipl <2,2,2,2>, RHS
+    2826127049U, // <2,4,3,0>: Cost 3 vuzpr <1,2,3,4>, <2,3,4,0>
+    2958270501U, // <2,4,3,1>: Cost 3 vzipr LHS, <0,0,4,1>
+    2958270502U, // <2,4,3,2>: Cost 3 vzipr LHS, <0,0,4,2>
+    2826126296U, // <2,4,3,3>: Cost 3 vuzpr <1,2,3,4>, <1,3,1,3>
+    1927662800U, // <2,4,3,4>: Cost 2 vzipr LHS, <4,4,4,4>
+    1879885518U, // <2,4,3,5>: Cost 2 vzipr LHS, <2,3,4,5>
+    1879883980U, // <2,4,3,6>: Cost 2 vzipr LHS, <0,2,4,6>
+    2826126336U, // <2,4,3,7>: Cost 3 vuzpr <1,2,3,4>, <1,3,5,7>
+    1879883982U, // <2,4,3,u>: Cost 2 vzipr LHS, <0,2,4,u>
+    2563735654U, // <2,4,4,0>: Cost 3 vext1 <2,2,4,4>, LHS
+    2826127824U, // <2,4,4,1>: Cost 3 vuzpr <1,2,3,4>, <3,4,0,1>
+    2826127834U, // <2,4,4,2>: Cost 3 vuzpr <1,2,3,4>, <3,4,1,2>
+    2826127106U, // <2,4,4,3>: Cost 3 vuzpr <1,2,3,4>, <2,4,1,3>
+    2826127116U, // <2,4,4,4>: Cost 3 vuzpr <1,2,3,4>, <2,4,2,4>
     2618756406U, // <2,4,4,5>: Cost 3 vext2 <0,2,2,4>, RHS
-    2765737270U, // <2,4,4,6>: Cost 3 vuzpl <2,3,4,5>, RHS
-    4168304426U, // <2,4,4,7>: Cost 4 vtrnr <1,2,3,4>, <2,4,5,7>
-    2618756649U, // <2,4,4,u>: Cost 3 vext2 <0,2,2,4>, RHS
+    1691995446U, // <2,4,4,6>: Cost 2 vuzpl <2,3,4,5>, RHS
+    3094562602U, // <2,4,4,7>: Cost 3 vtrnr <1,2,3,4>, <2,4,5,7>
+    1691995464U, // <2,4,4,u>: Cost 2 vuzpl <2,3,4,5>, RHS
     2551800011U, // <2,4,5,0>: Cost 3 vext1 <0,2,4,5>, <0,2,4,5>
     2569716470U, // <2,4,5,1>: Cost 3 vext1 <3,2,4,5>, <1,0,3,2>
     2563745405U, // <2,4,5,2>: Cost 3 vext1 <2,2,4,5>, <2,2,4,5>
-    2569718102U, // <2,4,5,3>: Cost 3 vext1 <3,2,4,5>, <3,2,4,5>
+    2765737726U, // <2,4,5,3>: Cost 3 vuzpl <2,3,4,5>, <5,2,3,4>
     2551803190U, // <2,4,5,4>: Cost 3 vext1 <0,2,4,5>, RHS
-    3625545732U, // <2,4,5,5>: Cost 4 vext1 <0,2,4,5>, <5,5,5,5>
+    2901003574U, // <2,4,5,5>: Cost 3 vzipl <2,5,0,7>, RHS
     1611959606U, // <2,4,5,6>: Cost 2 vext3 <0,2,0,2>, RHS
-    2826128694U, // <2,4,5,7>: Cost 3 vuzpr <1,2,3,4>, RHS
+    1752386870U, // <2,4,5,7>: Cost 2 vuzpr <1,2,3,4>, RHS
     1611959624U, // <2,4,5,u>: Cost 2 vext3 <0,2,0,2>, RHS
-    1478066278U, // <2,4,6,0>: Cost 2 vext1 <0,2,4,6>, LHS
+    1478066380U, // <2,4,6,0>: Cost 2 vext1 <0,2,4,6>, <0,2,4,6>
     2551808758U, // <2,4,6,1>: Cost 3 vext1 <0,2,4,6>, <1,0,3,2>
     2551809516U, // <2,4,6,2>: Cost 3 vext1 <0,2,4,6>, <2,0,6,4>
     2551810198U, // <2,4,6,3>: Cost 3 vext1 <0,2,4,6>, <3,0,1,2>
     1478069558U, // <2,4,6,4>: Cost 2 vext1 <0,2,4,6>, RHS
-    2901888310U, // <2,4,6,5>: Cost 3 vzipl <2,6,3,7>, RHS
+    1828146486U, // <2,4,6,5>: Cost 2 vzipl <2,6,3,7>, RHS
     2551812920U, // <2,4,6,6>: Cost 3 vext1 <0,2,4,6>, <6,6,6,6>
-    2726251914U, // <2,4,6,7>: Cost 3 vext3 <7,0,1,2>, <4,6,7,1>
+    2826127290U, // <2,4,6,7>: Cost 3 vuzpr <1,2,3,4>, <2,6,3,7>
     1478072110U, // <2,4,6,u>: Cost 2 vext1 <0,2,4,6>, LHS
     2659234821U, // <2,4,7,0>: Cost 3 vext2 <7,0,2,4>, <7,0,2,4>
-    3786722726U, // <2,4,7,1>: Cost 4 vext3 <4,7,1,2>, <4,7,1,2>
-    3734303911U, // <2,4,7,2>: Cost 4 vext2 <7,2,2,4>, <7,2,2,4>
-    3734967544U, // <2,4,7,3>: Cost 4 vext2 <7,3,2,4>, <7,3,2,4>
-    3727005030U, // <2,4,7,4>: Cost 4 vext2 <6,0,2,4>, <7,4,5,6>
+    2867934030U, // <2,4,7,1>: Cost 3 vuzpr <u,2,3,4>, <6,7,0,1>
+    4186390854U, // <2,4,7,2>: Cost 4 vtrnr <4,2,5,7>, <0,4,0,2>
+    2867933312U, // <2,4,7,3>: Cost 3 vuzpr <u,2,3,4>, <5,7,1,3>
+    2826129546U, // <2,4,7,4>: Cost 3 vuzpr <1,2,3,4>, <5,7,2,4>
     2726251976U, // <2,4,7,5>: Cost 3 vext3 <7,0,1,2>, <4,7,5,0>
     2726251986U, // <2,4,7,6>: Cost 3 vext3 <7,0,1,2>, <4,7,6,1>
-    3727005292U, // <2,4,7,7>: Cost 4 vext2 <6,0,2,4>, <7,7,7,7>
-    2659234821U, // <2,4,7,u>: Cost 3 vext2 <7,0,2,4>, <7,0,2,4>
-    1478082662U, // <2,4,u,0>: Cost 2 vext1 <0,2,4,u>, LHS
-    2618758958U, // <2,4,u,1>: Cost 3 vext2 <0,2,2,4>, LHS
-    2551826024U, // <2,4,u,2>: Cost 3 vext1 <0,2,4,u>, <2,2,2,2>
-    2551826582U, // <2,4,u,3>: Cost 3 vext1 <0,2,4,u>, <3,0,1,2>
+    2867933352U, // <2,4,7,7>: Cost 3 vuzpr <u,2,3,4>, <5,7,5,7>
+    2726252003U, // <2,4,7,u>: Cost 3 vext3 <7,0,1,2>, <4,7,u,0>
+    1478082766U, // <2,4,u,0>: Cost 2 vext1 <0,2,4,u>, <0,2,4,u>
+    2953672429U, // <2,4,u,1>: Cost 3 vzipr LHS, <u,0,4,1>
+    1691997998U, // <2,4,u,2>: Cost 2 vuzpl <2,3,4,5>, LHS
+    1752384157U, // <2,4,u,3>: Cost 2 vuzpr <1,2,3,4>, LHS
     1478085942U, // <2,4,u,4>: Cost 2 vext1 <0,2,4,u>, RHS
-    2953668302U, // <2,4,u,5>: Cost 3 vzipr LHS, <2,3,4,5>
-    1611959849U, // <2,4,u,6>: Cost 2 vext3 <0,2,0,2>, RHS
-    2826128937U, // <2,4,u,7>: Cost 3 vuzpr <1,2,3,4>, RHS
-    1611959867U, // <2,4,u,u>: Cost 2 vext3 <0,2,0,2>, RHS
-    3691839488U, // <2,5,0,0>: Cost 4 vext2 <0,1,2,5>, <0,0,0,0>
-    2618097766U, // <2,5,0,1>: Cost 3 vext2 <0,1,2,5>, LHS
+    1879926478U, // <2,4,u,5>: Cost 2 vzipr LHS, <2,3,4,5>
+    1879924940U, // <2,4,u,6>: Cost 2 vzipr LHS, <0,2,4,6>
+    1752387113U, // <2,4,u,7>: Cost 2 vuzpr <1,2,3,4>, RHS
+    1879924942U, // <2,4,u,u>: Cost 2 vzipr LHS, <0,2,4,u>
+    2765160612U, // <2,5,0,0>: Cost 3 vuzpl <2,2,5,7>, <0,2,0,2>
+    2618097768U, // <2,5,0,1>: Cost 3 vext2 <0,1,2,5>, <0,1,2,5>
     2620088484U, // <2,5,0,2>: Cost 3 vext2 <0,4,2,5>, <0,2,0,2>
     2619425034U, // <2,5,0,3>: Cost 3 vext2 <0,3,2,5>, <0,3,2,5>
     2620088667U, // <2,5,0,4>: Cost 3 vext2 <0,4,2,5>, <0,4,2,5>
-    2620752300U, // <2,5,0,5>: Cost 3 vext2 <0,5,2,5>, <0,5,2,5>
-    3693830655U, // <2,5,0,6>: Cost 4 vext2 <0,4,2,5>, <0,6,2,7>
-    3094531382U, // <2,5,0,7>: Cost 3 vtrnr <1,2,3,0>, RHS
-    2618098333U, // <2,5,0,u>: Cost 3 vext2 <0,1,2,5>, LHS
-    3691840246U, // <2,5,1,0>: Cost 4 vext2 <0,1,2,5>, <1,0,3,2>
+    3136335876U, // <2,5,0,5>: Cost 3 vtrnr <u,2,3,0>, <5,5,5,5>
+    4028008962U, // <2,5,0,6>: Cost 4 vzipr <0,2,2,0>, <3,4,5,6>
+    2020789558U, // <2,5,0,7>: Cost 2 vtrnr <1,2,3,0>, RHS
+    2020789559U, // <2,5,0,u>: Cost 2 vtrnr <1,2,3,0>, RHS
+    2599616614U, // <2,5,1,0>: Cost 3 vext1 <u,2,5,1>, LHS
     3691840308U, // <2,5,1,1>: Cost 4 vext2 <0,1,2,5>, <1,1,1,1>
     2626061206U, // <2,5,1,2>: Cost 3 vext2 <1,4,2,5>, <1,2,3,0>
     2618098688U, // <2,5,1,3>: Cost 3 vext2 <0,1,2,5>, <1,3,5,7>
     2626061364U, // <2,5,1,4>: Cost 3 vext2 <1,4,2,5>, <1,4,2,5>
-    3691840656U, // <2,5,1,5>: Cost 4 vext2 <0,1,2,5>, <1,5,3,7>
-    3789082310U, // <2,5,1,6>: Cost 4 vext3 <5,1,6,2>, <5,1,6,2>
-    2712833744U, // <2,5,1,7>: Cost 3 vext3 <4,6,u,2>, <5,1,7,3>
-    2628715896U, // <2,5,1,u>: Cost 3 vext2 <1,u,2,5>, <1,u,2,5>
-    3693831613U, // <2,5,2,0>: Cost 4 vext2 <0,4,2,5>, <2,0,1,2>
-    4026698642U, // <2,5,2,1>: Cost 4 vzipr <0,0,2,2>, <4,0,5,1>
-    2632033896U, // <2,5,2,2>: Cost 3 vext2 <2,4,2,5>, <2,2,2,2>
-    3691841190U, // <2,5,2,3>: Cost 4 vext2 <0,1,2,5>, <2,3,0,1>
+    2599620736U, // <2,5,1,5>: Cost 3 vext1 <u,2,5,1>, <5,7,1,3>
+    4028680706U, // <2,5,1,6>: Cost 4 vzipr <0,3,2,1>, <3,4,5,6>
+    3088346422U, // <2,5,1,7>: Cost 3 vtrnr <0,2,0,1>, RHS
+    3088346423U, // <2,5,1,u>: Cost 3 vtrnr <0,2,0,1>, RHS
+    2575736934U, // <2,5,2,0>: Cost 3 vext1 <4,2,5,2>, LHS
+    3006040978U, // <2,5,2,1>: Cost 3 vzipr <u,u,2,2>, <4,0,5,1>
+    2820235428U, // <2,5,2,2>: Cost 3 vuzpr <0,2,4,5>, <0,2,0,2>
+    2765825650U, // <2,5,2,3>: Cost 3 vuzpl <2,3,5,7>, <2,2,3,3>
     2632034061U, // <2,5,2,4>: Cost 3 vext2 <2,4,2,5>, <2,4,2,5>
-    3691841352U, // <2,5,2,5>: Cost 4 vext2 <0,1,2,5>, <2,5,0,1>
-    3691841466U, // <2,5,2,6>: Cost 4 vext2 <0,1,2,5>, <2,6,3,7>
-    3088354614U, // <2,5,2,7>: Cost 3 vtrnr <0,2,0,2>, RHS
-    3088354615U, // <2,5,2,u>: Cost 3 vtrnr <0,2,0,2>, RHS
-    2557829222U, // <2,5,3,0>: Cost 3 vext1 <1,2,5,3>, LHS
-    2557830059U, // <2,5,3,1>: Cost 3 vext1 <1,2,5,3>, <1,2,5,3>
-    2575746766U, // <2,5,3,2>: Cost 3 vext1 <4,2,5,3>, <2,3,4,5>
-    3691841948U, // <2,5,3,3>: Cost 4 vext2 <0,1,2,5>, <3,3,3,3>
+    2820014256U, // <2,5,2,5>: Cost 3 vuzpr <0,2,1,5>, <0,2,1,5>
+    2958264834U, // <2,5,2,6>: Cost 3 vzipr <0,u,2,2>, <3,4,5,6>
+    2014612790U, // <2,5,2,7>: Cost 2 vtrnr <0,2,0,2>, RHS
+    2014612791U, // <2,5,2,u>: Cost 2 vtrnr <0,2,0,2>, RHS
+    2958273506U, // <2,5,3,0>: Cost 3 vzipr LHS, <4,1,5,0>
+    1927662482U, // <2,5,3,1>: Cost 2 vzipr LHS, <4,0,5,1>
+    2899955454U, // <2,5,3,2>: Cost 3 vzipl <2,3,4,5>, <5,2,3,4>
+    2958271403U, // <2,5,3,3>: Cost 3 vzipr LHS, <1,2,5,3>
     2619427330U, // <2,5,3,4>: Cost 3 vext2 <0,3,2,5>, <3,4,5,6>
-    2581720847U, // <2,5,3,5>: Cost 3 vext1 <5,2,5,3>, <5,2,5,3>
-    2953628162U, // <2,5,3,6>: Cost 3 vzipr LHS, <3,4,5,6>
-    2953626624U, // <2,5,3,7>: Cost 3 vzipr LHS, <1,3,5,7>
-    2953626625U, // <2,5,3,u>: Cost 3 vzipr LHS, <1,3,5,u>
+    1927662810U, // <2,5,3,5>: Cost 2 vzipr LHS, <4,4,5,5>
+    1879886338U, // <2,5,3,6>: Cost 2 vzipr LHS, <3,4,5,6>
+    1879884800U, // <2,5,3,7>: Cost 2 vzipr LHS, <1,3,5,7>
+    1879884801U, // <2,5,3,u>: Cost 2 vzipr LHS, <1,3,5,u>
     2569781350U, // <2,5,4,0>: Cost 3 vext1 <3,2,5,4>, LHS
-    3631580076U, // <2,5,4,1>: Cost 4 vext1 <1,2,5,4>, <1,2,5,4>
+    3034173568U, // <2,5,4,1>: Cost 3 vtrnl <2,3,4,5>, <5,7,1,3>
     2569782990U, // <2,5,4,2>: Cost 3 vext1 <3,2,5,4>, <2,3,4,5>
-    2569783646U, // <2,5,4,3>: Cost 3 vext1 <3,2,5,4>, <3,2,5,4>
+    3034173182U, // <2,5,4,3>: Cost 3 vtrnl <2,3,4,5>, <5,2,3,4>
     2569784630U, // <2,5,4,4>: Cost 3 vext1 <3,2,5,4>, RHS
     2618101046U, // <2,5,4,5>: Cost 3 vext2 <0,1,2,5>, RHS
-    3893905922U, // <2,5,4,6>: Cost 4 vuzpr <0,2,3,5>, <3,4,5,6>
-    3094564150U, // <2,5,4,7>: Cost 3 vtrnr <1,2,3,4>, RHS
-    2618101289U, // <2,5,4,u>: Cost 3 vext2 <0,1,2,5>, RHS
-    2551873638U, // <2,5,5,0>: Cost 3 vext1 <0,2,5,5>, LHS
-    3637560320U, // <2,5,5,1>: Cost 4 vext1 <2,2,5,5>, <1,3,5,7>
-    3637560966U, // <2,5,5,2>: Cost 4 vext1 <2,2,5,5>, <2,2,5,5>
-    3723030343U, // <2,5,5,3>: Cost 4 vext2 <5,3,2,5>, <5,3,2,5>
-    2551876918U, // <2,5,5,4>: Cost 3 vext1 <0,2,5,5>, RHS
-    2712834052U, // <2,5,5,5>: Cost 3 vext3 <4,6,u,2>, <5,5,5,5>
-    4028713474U, // <2,5,5,6>: Cost 4 vzipr <0,3,2,5>, <3,4,5,6>
-    2712834072U, // <2,5,5,7>: Cost 3 vext3 <4,6,u,2>, <5,5,7,7>
-    2712834081U, // <2,5,5,u>: Cost 3 vext3 <4,6,u,2>, <5,5,u,7>
+    2820164098U, // <2,5,4,6>: Cost 3 vuzpr <0,2,3,5>, <3,4,5,6>
+    2020822326U, // <2,5,4,7>: Cost 2 vtrnr <1,2,3,4>, RHS
+    2020822327U, // <2,5,4,u>: Cost 2 vtrnr <1,2,3,4>, RHS
+    2599649382U, // <2,5,5,0>: Cost 3 vext1 <u,2,5,5>, LHS
+    3003411346U, // <2,5,5,1>: Cost 3 vzipr <u,4,2,5>, <4,0,5,1>
+    4027384584U, // <2,5,5,2>: Cost 4 vzipr <0,1,2,5>, <1,0,5,2>
+    4027385476U, // <2,5,5,3>: Cost 4 vzipr <0,1,2,5>, <2,2,5,3>
+    2599652662U, // <2,5,5,4>: Cost 3 vext1 <u,2,5,5>, RHS
+    2712244228U, // <2,5,5,5>: Cost 3 vext3 <4,6,0,2>, <5,5,5,5>
+    2954971650U, // <2,5,5,6>: Cost 3 vzipr <0,3,2,5>, <3,4,5,6>
+    2953643008U, // <2,5,5,7>: Cost 3 vzipr <0,1,2,5>, <1,3,5,7>
+    2820017463U, // <2,5,5,u>: Cost 3 vuzpr <0,2,1,5>, RHS
     2575769702U, // <2,5,6,0>: Cost 3 vext1 <4,2,5,6>, LHS
-    3631596462U, // <2,5,6,1>: Cost 4 vext1 <1,2,5,6>, <1,2,5,6>
+    3003419538U, // <2,5,6,1>: Cost 3 vzipr <u,4,2,6>, <4,0,5,1>
     2655924730U, // <2,5,6,2>: Cost 3 vext2 <6,4,2,5>, <6,2,7,3>
-    3643541856U, // <2,5,6,3>: Cost 4 vext1 <3,2,5,6>, <3,2,5,6>
+    4029383595U, // <2,5,6,3>: Cost 4 vzipr <0,4,2,6>, <1,2,5,3>
     2655924849U, // <2,5,6,4>: Cost 3 vext2 <6,4,2,5>, <6,4,2,5>
-    3787755607U, // <2,5,6,5>: Cost 4 vext3 <4,u,6,2>, <5,6,5,7>
-    4029385218U, // <2,5,6,6>: Cost 4 vzipr <0,4,2,6>, <3,4,5,6>
-    3088682294U, // <2,5,6,7>: Cost 3 vtrnr <0,2,4,6>, RHS
-    3088682295U, // <2,5,6,u>: Cost 3 vtrnr <0,2,4,6>, RHS
+    3136458756U, // <2,5,6,5>: Cost 3 vtrnr <u,2,4,6>, <5,5,5,5>
+    2955643394U, // <2,5,6,6>: Cost 3 vzipr <0,4,2,6>, <3,4,5,6>
+    2014940470U, // <2,5,6,7>: Cost 2 vtrnr <0,2,4,6>, RHS
+    2014940471U, // <2,5,6,u>: Cost 2 vtrnr <0,2,4,6>, RHS
     2563833958U, // <2,5,7,0>: Cost 3 vext1 <2,2,5,7>, LHS
-    2551890678U, // <2,5,7,1>: Cost 3 vext1 <0,2,5,7>, <1,0,3,2>
+    2712244352U, // <2,5,7,1>: Cost 3 vext3 <4,6,0,2>, <5,7,1,3>
     2563835528U, // <2,5,7,2>: Cost 3 vext1 <2,2,5,7>, <2,2,5,7>
     3637577878U, // <2,5,7,3>: Cost 4 vext1 <2,2,5,7>, <3,0,1,2>
     2563837238U, // <2,5,7,4>: Cost 3 vext1 <2,2,5,7>, RHS
-    2712834216U, // <2,5,7,5>: Cost 3 vext3 <4,6,u,2>, <5,7,5,7>
-    2712834220U, // <2,5,7,6>: Cost 3 vext3 <4,6,u,2>, <5,7,6,2>
-    4174449974U, // <2,5,7,7>: Cost 4 vtrnr <2,2,5,7>, RHS
+    2712244392U, // <2,5,7,5>: Cost 3 vext3 <4,6,0,2>, <5,7,5,7>
+    2712244396U, // <2,5,7,6>: Cost 3 vext3 <4,6,0,2>, <5,7,6,2>
+    3100708150U, // <2,5,7,7>: Cost 3 vtrnr <2,2,5,7>, RHS
     2563839790U, // <2,5,7,u>: Cost 3 vext1 <2,2,5,7>, LHS
-    2563842150U, // <2,5,u,0>: Cost 3 vext1 <2,2,5,u>, LHS
-    2618103598U, // <2,5,u,1>: Cost 3 vext2 <0,1,2,5>, LHS
-    2563843721U, // <2,5,u,2>: Cost 3 vext1 <2,2,5,u>, <2,2,5,u>
-    2569816418U, // <2,5,u,3>: Cost 3 vext1 <3,2,5,u>, <3,2,5,u>
+    2958314466U, // <2,5,u,0>: Cost 3 vzipr LHS, <4,1,5,0>
+    1927703442U, // <2,5,u,1>: Cost 2 vzipr LHS, <4,0,5,1>
+    2763839278U, // <2,5,u,2>: Cost 3 vuzpl <2,0,5,7>, LHS
+    2953672521U, // <2,5,u,3>: Cost 3 vzipr LHS, <u,1,5,3>
     2622748735U, // <2,5,u,4>: Cost 3 vext2 <0,u,2,5>, <u,4,5,6>
-    2618103962U, // <2,5,u,5>: Cost 3 vext2 <0,1,2,5>, RHS
-    2953669122U, // <2,5,u,6>: Cost 3 vzipr LHS, <3,4,5,6>
-    2953667584U, // <2,5,u,7>: Cost 3 vzipr LHS, <1,3,5,7>
-    2618104165U, // <2,5,u,u>: Cost 3 vext2 <0,1,2,5>, LHS
-    2620096512U, // <2,6,0,0>: Cost 3 vext2 <0,4,2,6>, <0,0,0,0>
+    1927703770U, // <2,5,u,5>: Cost 2 vzipr LHS, <4,4,5,5>
+    1879927298U, // <2,5,u,6>: Cost 2 vzipr LHS, <3,4,5,6>
+    1879925760U, // <2,5,u,7>: Cost 2 vzipr LHS, <1,3,5,7>
+    1879925761U, // <2,5,u,u>: Cost 2 vzipr LHS, <1,3,5,u>
+    2820243456U, // <2,6,0,0>: Cost 3 vuzpr <0,2,4,6>, <0,0,0,0>
     1546354790U, // <2,6,0,1>: Cost 2 vext2 <0,4,2,6>, LHS
-    2620096676U, // <2,6,0,2>: Cost 3 vext2 <0,4,2,6>, <0,2,0,2>
+    2820243476U, // <2,6,0,2>: Cost 3 vuzpr <0,2,4,6>, <0,0,2,2>
     3693838588U, // <2,6,0,3>: Cost 4 vext2 <0,4,2,6>, <0,3,1,0>
     1546355036U, // <2,6,0,4>: Cost 2 vext2 <0,4,2,6>, <0,4,2,6>
     3694502317U, // <2,6,0,5>: Cost 4 vext2 <0,5,2,6>, <0,5,2,6>
-    2551911246U, // <2,6,0,6>: Cost 3 vext1 <0,2,6,0>, <6,7,0,1>
-    2720723287U, // <2,6,0,7>: Cost 3 vext3 <6,0,7,2>, <6,0,7,2>
+    3136335220U, // <2,6,0,6>: Cost 3 vtrnr <u,2,3,0>, <4,6,4,6>
+    2954267958U, // <2,6,0,7>: Cost 3 vzipr <0,2,2,0>, RHS
     1546355357U, // <2,6,0,u>: Cost 2 vext2 <0,4,2,6>, LHS
     2620097270U, // <2,6,1,0>: Cost 3 vext2 <0,4,2,6>, <1,0,3,2>
-    2620097332U, // <2,6,1,1>: Cost 3 vext2 <0,4,2,6>, <1,1,1,1>
+    2820244276U, // <2,6,1,1>: Cost 3 vuzpr <0,2,4,6>, <1,1,1,1>
     2620097430U, // <2,6,1,2>: Cost 3 vext2 <0,4,2,6>, <1,2,3,0>
-    2820243558U, // <2,6,1,3>: Cost 3 vuzpr <0,2,4,6>, LHS
+    1746501734U, // <2,6,1,3>: Cost 2 vuzpr <0,2,4,6>, LHS
     2620097598U, // <2,6,1,4>: Cost 3 vext2 <0,4,2,6>, <1,4,3,6>
     2620097680U, // <2,6,1,5>: Cost 3 vext2 <0,4,2,6>, <1,5,3,7>
-    3693839585U, // <2,6,1,6>: Cost 4 vext2 <0,4,2,6>, <1,6,3,7>
-    2721386920U, // <2,6,1,7>: Cost 3 vext3 <6,1,7,2>, <6,1,7,2>
-    2820243563U, // <2,6,1,u>: Cost 3 vuzpr <0,2,4,6>, LHS
-    2714014137U, // <2,6,2,0>: Cost 3 vext3 <4,u,6,2>, <6,2,0,1>
-    2712834500U, // <2,6,2,1>: Cost 3 vext3 <4,6,u,2>, <6,2,1,3>
-    2620098152U, // <2,6,2,2>: Cost 3 vext2 <0,4,2,6>, <2,2,2,2>
-    2620098214U, // <2,6,2,3>: Cost 3 vext2 <0,4,2,6>, <2,3,0,1>
-    2632042254U, // <2,6,2,4>: Cost 3 vext2 <2,4,2,6>, <2,4,2,6>
-    2712834540U, // <2,6,2,5>: Cost 3 vext3 <4,6,u,2>, <6,2,5,7>
-    2820243660U, // <2,6,2,6>: Cost 3 vuzpr <0,2,4,6>, <0,2,4,6>
-    2958265654U, // <2,6,2,7>: Cost 3 vzipr <0,u,2,2>, RHS
-    2620098619U, // <2,6,2,u>: Cost 3 vext2 <0,4,2,6>, <2,u,0,1>
+    3893765713U, // <2,6,1,6>: Cost 4 vuzpr <0,2,1,6>, <2,1,u,6>
+    2954939702U, // <2,6,1,7>: Cost 3 vzipr <0,3,2,1>, RHS
+    1746501739U, // <2,6,1,u>: Cost 2 vuzpr <0,2,4,6>, LHS
+    2820244374U, // <2,6,2,0>: Cost 3 vuzpr <0,2,4,6>, <1,2,3,0>
+    2712244676U, // <2,6,2,1>: Cost 3 vext3 <4,6,0,2>, <6,2,1,3>
+    2820243620U, // <2,6,2,2>: Cost 3 vuzpr <0,2,4,6>, <0,2,0,2>
+    2820245106U, // <2,6,2,3>: Cost 3 vuzpr <0,2,4,6>, <2,2,3,3>
+    2820243622U, // <2,6,2,4>: Cost 3 vuzpr <0,2,4,6>, <0,2,0,4>
+    2712244716U, // <2,6,2,5>: Cost 3 vext3 <4,6,0,2>, <6,2,5,7>
+    1746501836U, // <2,6,2,6>: Cost 2 vuzpr <0,2,4,6>, <0,2,4,6>
+    1884523830U, // <2,6,2,7>: Cost 2 vzipr <0,u,2,2>, RHS
+    1884523831U, // <2,6,2,u>: Cost 2 vzipr <0,u,2,2>, RHS
     2620098710U, // <2,6,3,0>: Cost 3 vext2 <0,4,2,6>, <3,0,1,2>
-    3893986982U, // <2,6,3,1>: Cost 4 vuzpr <0,2,4,6>, <2,3,0,1>
-    2569848762U, // <2,6,3,2>: Cost 3 vext1 <3,2,6,3>, <2,6,3,7>
-    2620098972U, // <2,6,3,3>: Cost 3 vext2 <0,4,2,6>, <3,3,3,3>
+    2820245158U, // <2,6,3,1>: Cost 3 vuzpr <0,2,4,6>, <2,3,0,1>
+    1927662492U, // <2,6,3,2>: Cost 2 vzipr LHS, <4,0,6,2>
+    2820244440U, // <2,6,3,3>: Cost 3 vuzpr <0,2,4,6>, <1,3,1,3>
     2620099074U, // <2,6,3,4>: Cost 3 vext2 <0,4,2,6>, <3,4,5,6>
-    3893987022U, // <2,6,3,5>: Cost 4 vuzpr <0,2,4,6>, <2,3,4,5>
-    3001404644U, // <2,6,3,6>: Cost 3 vzipr LHS, <4,4,6,6>
-    1879887158U, // <2,6,3,7>: Cost 2 vzipr LHS, RHS
-    1879887159U, // <2,6,3,u>: Cost 2 vzipr LHS, RHS
-    2620099484U, // <2,6,4,0>: Cost 3 vext2 <0,4,2,6>, <4,0,6,2>
+    2820245198U, // <2,6,3,5>: Cost 3 vuzpr <0,2,4,6>, <2,3,4,5>
+    1927662820U, // <2,6,3,6>: Cost 2 vzipr LHS, <4,4,6,6>
+    806145334U,  // <2,6,3,7>: Cost 1 vzipr LHS, RHS
+    806145335U,  // <2,6,3,u>: Cost 1 vzipr LHS, RHS
+    2820245292U, // <2,6,4,0>: Cost 3 vuzpr <0,2,4,6>, <2,4,6,0>
     2620099566U, // <2,6,4,1>: Cost 3 vext2 <0,4,2,6>, <4,1,6,3>
-    2620099644U, // <2,6,4,2>: Cost 3 vext2 <0,4,2,6>, <4,2,6,0>
-    3643599207U, // <2,6,4,3>: Cost 4 vext1 <3,2,6,4>, <3,2,6,4>
-    2575830080U, // <2,6,4,4>: Cost 3 vext1 <4,2,6,4>, <4,2,6,4>
+    2820243782U, // <2,6,4,2>: Cost 3 vuzpr <0,2,4,6>, <0,4,0,2>
+    3893985616U, // <2,6,4,3>: Cost 4 vuzpr <0,2,4,6>, <0,4,1,3>
+    2820243784U, // <2,6,4,4>: Cost 3 vuzpr <0,2,4,6>, <0,4,0,4>
     1546358070U, // <2,6,4,5>: Cost 2 vext2 <0,4,2,6>, RHS
-    2667875700U, // <2,6,4,6>: Cost 3 vext2 <u,4,2,6>, <4,6,4,6>
-    4028042550U, // <2,6,4,7>: Cost 4 vzipr <0,2,2,4>, RHS
+    2820243804U, // <2,6,4,6>: Cost 3 vuzpr <0,2,4,6>, <0,4,2,6>
+    2954300726U, // <2,6,4,7>: Cost 3 vzipr <0,2,2,4>, RHS
     1546358313U, // <2,6,4,u>: Cost 2 vext2 <0,4,2,6>, RHS
     3693841992U, // <2,6,5,0>: Cost 4 vext2 <0,4,2,6>, <5,0,1,2>
     2667876048U, // <2,6,5,1>: Cost 3 vext2 <u,4,2,6>, <5,1,7,3>
-    2712834756U, // <2,6,5,2>: Cost 3 vext3 <4,6,u,2>, <6,5,2,7>
+    2712244932U, // <2,6,5,2>: Cost 3 vext3 <4,6,0,2>, <6,5,2,7>
     3643607400U, // <2,6,5,3>: Cost 4 vext1 <3,2,6,5>, <3,2,6,5>
     2252091873U, // <2,6,5,4>: Cost 3 vrev <6,2,4,5>
-    2667876356U, // <2,6,5,5>: Cost 3 vext2 <u,4,2,6>, <5,5,5,5>
+    2868023300U, // <2,6,5,5>: Cost 3 vuzpr <u,2,4,6>, <5,5,5,5>
     2667876450U, // <2,6,5,6>: Cost 3 vext2 <u,4,2,6>, <5,6,7,0>
-    2820246838U, // <2,6,5,7>: Cost 3 vuzpr <0,2,4,6>, RHS
-    2820246839U, // <2,6,5,u>: Cost 3 vuzpr <0,2,4,6>, RHS
-    2563899494U, // <2,6,6,0>: Cost 3 vext1 <2,2,6,6>, LHS
-    3893988683U, // <2,6,6,1>: Cost 4 vuzpr <0,2,4,6>, <4,6,0,1>
-    2563901072U, // <2,6,6,2>: Cost 3 vext1 <2,2,6,6>, <2,2,6,6>
-    3893987236U, // <2,6,6,3>: Cost 4 vuzpr <0,2,4,6>, <2,6,1,3>
-    2563902774U, // <2,6,6,4>: Cost 3 vext1 <2,2,6,6>, RHS
-    3893988723U, // <2,6,6,5>: Cost 4 vuzpr <0,2,4,6>, <4,6,4,5>
-    2712834872U, // <2,6,6,6>: Cost 3 vext3 <4,6,u,2>, <6,6,6,6>
-    2955644214U, // <2,6,6,7>: Cost 3 vzipr <0,4,2,6>, RHS
-    2955644215U, // <2,6,6,u>: Cost 3 vzipr <0,4,2,6>, RHS
-    2712834894U, // <2,6,7,0>: Cost 3 vext3 <4,6,u,2>, <6,7,0,1>
+    1746505014U, // <2,6,5,7>: Cost 2 vuzpr <0,2,4,6>, RHS
+    1746505015U, // <2,6,5,u>: Cost 2 vuzpr <0,2,4,6>, RHS
+    2955643964U, // <2,6,6,0>: Cost 3 vzipr <0,4,2,6>, <4,2,6,0>
+    2820246859U, // <2,6,6,1>: Cost 3 vuzpr <0,2,4,6>, <4,6,0,1>
+    2820246860U, // <2,6,6,2>: Cost 3 vuzpr <0,2,4,6>, <4,6,0,2>
+    2820245412U, // <2,6,6,3>: Cost 3 vuzpr <0,2,4,6>, <2,6,1,3>
+    2955643968U, // <2,6,6,4>: Cost 3 vzipr <0,4,2,6>, <4,2,6,4>
+    2820246899U, // <2,6,6,5>: Cost 3 vuzpr <0,2,4,6>, <4,6,4,5>
+    2820245424U, // <2,6,6,6>: Cost 3 vuzpr <0,2,4,6>, <2,6,2,6>
+    1881902390U, // <2,6,6,7>: Cost 2 vzipr <0,4,2,6>, RHS
+    1881902391U, // <2,6,6,u>: Cost 2 vzipr <0,4,2,6>, RHS
+    2712245070U, // <2,6,7,0>: Cost 3 vext3 <4,6,0,2>, <6,7,0,1>
     2724926296U, // <2,6,7,1>: Cost 3 vext3 <6,7,1,2>, <6,7,1,2>
-    2725000033U, // <2,6,7,2>: Cost 3 vext3 <6,7,2,2>, <6,7,2,2>
-    2702365544U, // <2,6,7,3>: Cost 3 vext3 <3,0,1,2>, <6,7,3,0>
-    2712834934U, // <2,6,7,4>: Cost 3 vext3 <4,6,u,2>, <6,7,4,5>
-    3776107393U, // <2,6,7,5>: Cost 4 vext3 <3,0,1,2>, <6,7,5,7>
+    3124596044U, // <2,6,7,2>: Cost 3 vtrnr <6,2,5,7>, <4,6,0,2>
+    2868023424U, // <2,6,7,3>: Cost 3 vuzpr <u,2,4,6>, <5,7,1,3>
+    2712245110U, // <2,6,7,4>: Cost 3 vext3 <4,6,0,2>, <6,7,4,5>
+    2252181996U, // <2,6,7,5>: Cost 3 vrev <6,2,5,7>
     2725294981U, // <2,6,7,6>: Cost 3 vext3 <6,7,6,2>, <6,7,6,2>
-    2726253452U, // <2,6,7,7>: Cost 3 vext3 <7,0,1,2>, <6,7,7,0>
-    2712834966U, // <2,6,7,u>: Cost 3 vext3 <4,6,u,2>, <6,7,u,1>
-    2620102355U, // <2,6,u,0>: Cost 3 vext2 <0,4,2,6>, <u,0,1,2>
+    2956979510U, // <2,6,7,7>: Cost 3 vzipr <0,6,2,7>, RHS
+    2956979511U, // <2,6,7,u>: Cost 3 vzipr <0,6,2,7>, RHS
+    2820244860U, // <2,6,u,0>: Cost 3 vuzpr <0,2,4,6>, <1,u,3,0>
     1546360622U, // <2,6,u,1>: Cost 2 vext2 <0,4,2,6>, LHS
-    2620102536U, // <2,6,u,2>: Cost 3 vext2 <0,4,2,6>, <u,2,3,3>
-    2820244125U, // <2,6,u,3>: Cost 3 vuzpr <0,2,4,6>, LHS
+    1927703452U, // <2,6,u,2>: Cost 2 vzipr LHS, <4,0,6,2>
+    1746502301U, // <2,6,u,3>: Cost 2 vuzpr <0,2,4,6>, LHS
     1594136612U, // <2,6,u,4>: Cost 2 vext2 <u,4,2,6>, <u,4,2,6>
     1546360986U, // <2,6,u,5>: Cost 2 vext2 <0,4,2,6>, RHS
-    2620102864U, // <2,6,u,6>: Cost 3 vext2 <0,4,2,6>, <u,6,3,7>
-    1879928118U, // <2,6,u,7>: Cost 2 vzipr LHS, RHS
-    1879928119U, // <2,6,u,u>: Cost 2 vzipr LHS, RHS
-    2726179825U, // <2,7,0,0>: Cost 3 vext3 <7,0,0,2>, <7,0,0,2>
+    1927703780U, // <2,6,u,6>: Cost 2 vzipr LHS, <4,4,6,6>
+    806186294U,  // <2,6,u,7>: Cost 1 vzipr LHS, RHS
+    806186295U,  // <2,6,u,u>: Cost 1 vzipr LHS, RHS
+    2581839974U, // <2,7,0,0>: Cost 3 vext1 <5,2,7,0>, LHS
     1652511738U, // <2,7,0,1>: Cost 2 vext3 <7,0,1,2>, <7,0,1,2>
     2621431972U, // <2,7,0,2>: Cost 3 vext2 <0,6,2,7>, <0,2,0,2>
     2257949868U, // <2,7,0,3>: Cost 3 vrev <7,2,3,0>
-    2726474773U, // <2,7,0,4>: Cost 3 vext3 <7,0,4,2>, <7,0,4,2>
-    2620768686U, // <2,7,0,5>: Cost 3 vext2 <0,5,2,7>, <0,5,2,7>
+    2581843254U, // <2,7,0,4>: Cost 3 vext1 <5,2,7,0>, RHS
+    2581843742U, // <2,7,0,5>: Cost 3 vext1 <5,2,7,0>, <5,2,7,0>
     2621432319U, // <2,7,0,6>: Cost 3 vext2 <0,6,2,7>, <0,6,2,7>
-    2599760953U, // <2,7,0,7>: Cost 3 vext1 <u,2,7,0>, <7,0,u,2>
+    3136336040U, // <2,7,0,7>: Cost 3 vtrnr <u,2,3,0>, <5,7,5,7>
     1653027897U, // <2,7,0,u>: Cost 2 vext3 <7,0,u,2>, <7,0,u,2>
     2639348470U, // <2,7,1,0>: Cost 3 vext2 <3,6,2,7>, <1,0,3,2>
     3695174452U, // <2,7,1,1>: Cost 4 vext2 <0,6,2,7>, <1,1,1,1>
     3695174550U, // <2,7,1,2>: Cost 4 vext2 <0,6,2,7>, <1,2,3,0>
-    3694511104U, // <2,7,1,3>: Cost 4 vext2 <0,5,2,7>, <1,3,5,7>
-    3713090594U, // <2,7,1,4>: Cost 4 vext2 <3,6,2,7>, <1,4,0,5>
+    2832269414U, // <2,7,1,3>: Cost 3 vuzpr <2,2,5,7>, LHS
+    2599767350U, // <2,7,1,4>: Cost 3 vext1 <u,2,7,1>, RHS
     3693184144U, // <2,7,1,5>: Cost 4 vext2 <0,3,2,7>, <1,5,3,7>
     2627405016U, // <2,7,1,6>: Cost 3 vext2 <1,6,2,7>, <1,6,2,7>
-    3799995519U, // <2,7,1,7>: Cost 4 vext3 <7,0,1,2>, <7,1,7,0>
-    2639348470U, // <2,7,1,u>: Cost 3 vext2 <3,6,2,7>, <1,0,3,2>
-    3695175101U, // <2,7,2,0>: Cost 4 vext2 <0,6,2,7>, <2,0,1,2>
-    3643655168U, // <2,7,2,1>: Cost 4 vext1 <3,2,7,2>, <1,3,5,7>
-    2257892517U, // <2,7,2,2>: Cost 3 vrev <7,2,2,2>
-    3695175334U, // <2,7,2,3>: Cost 4 vext2 <0,6,2,7>, <2,3,0,1>
-    3695175465U, // <2,7,2,4>: Cost 4 vext2 <0,6,2,7>, <2,4,5,6>
+    2599769082U, // <2,7,1,7>: Cost 3 vext1 <u,2,7,1>, <7,0,1,2>
+    2832269419U, // <2,7,1,u>: Cost 3 vuzpr <2,2,5,7>, LHS
+    2581856358U, // <2,7,2,0>: Cost 3 vext1 <5,2,7,2>, LHS
+    3136131918U, // <2,7,2,1>: Cost 3 vtrnr <u,2,0,2>, <6,7,0,1>
+    2832269476U, // <2,7,2,2>: Cost 3 vuzpr <2,2,5,7>, <0,2,0,2>
+    3136131200U, // <2,7,2,3>: Cost 3 vtrnr <u,2,0,2>, <5,7,1,3>
+    2581859638U, // <2,7,2,4>: Cost 3 vext1 <5,2,7,2>, RHS
     2632714080U, // <2,7,2,5>: Cost 3 vext2 <2,5,2,7>, <2,5,2,7>
     2633377713U, // <2,7,2,6>: Cost 3 vext2 <2,6,2,7>, <2,6,2,7>
-    3695175658U, // <2,7,2,7>: Cost 4 vext2 <0,6,2,7>, <2,7,0,1>
+    2832270984U, // <2,7,2,7>: Cost 3 vuzpr <2,2,5,7>, <2,2,5,7>
     2634704979U, // <2,7,2,u>: Cost 3 vext2 <2,u,2,7>, <2,u,2,7>
     1514094694U, // <2,7,3,0>: Cost 2 vext1 <6,2,7,3>, LHS
     2569921680U, // <2,7,3,1>: Cost 3 vext1 <3,2,7,3>, <1,5,3,7>
     2587838056U, // <2,7,3,2>: Cost 3 vext1 <6,2,7,3>, <2,2,2,2>
-    2569922927U, // <2,7,3,3>: Cost 3 vext1 <3,2,7,3>, <3,2,7,3>
+    1927663312U, // <2,7,3,3>: Cost 2 vzipr LHS, <5,1,7,3>
     1514097974U, // <2,7,3,4>: Cost 2 vext1 <6,2,7,3>, RHS
     2581868321U, // <2,7,3,5>: Cost 3 vext1 <5,2,7,3>, <5,2,7,3>
     1514099194U, // <2,7,3,6>: Cost 2 vext1 <6,2,7,3>, <6,2,7,3>
-    2587841530U, // <2,7,3,7>: Cost 3 vext1 <6,2,7,3>, <7,0,1,2>
+    1927663640U, // <2,7,3,7>: Cost 2 vzipr LHS, <5,5,7,7>
     1514100526U, // <2,7,3,u>: Cost 2 vext1 <6,2,7,3>, LHS
-    2708706617U, // <2,7,4,0>: Cost 3 vext3 <4,0,6,2>, <7,4,0,6>
-    3649643418U, // <2,7,4,1>: Cost 4 vext1 <4,2,7,4>, <1,2,3,4>
-    3649644330U, // <2,7,4,2>: Cost 4 vext1 <4,2,7,4>, <2,4,5,7>
+    2581872742U, // <2,7,4,0>: Cost 3 vext1 <5,2,7,4>, LHS
+    2581873562U, // <2,7,4,1>: Cost 3 vext1 <5,2,7,4>, <1,2,3,4>
+    3974452410U, // <2,7,4,2>: Cost 4 vzipl <2,4,5,7>, <7,2,4,5>
     2257982640U, // <2,7,4,3>: Cost 3 vrev <7,2,3,4>
-    3649645641U, // <2,7,4,4>: Cost 4 vext1 <4,2,7,4>, <4,2,7,4>
+    2581876022U, // <2,7,4,4>: Cost 3 vext1 <5,2,7,4>, RHS
     2621435190U, // <2,7,4,5>: Cost 3 vext2 <0,6,2,7>, RHS
-    2712835441U, // <2,7,4,6>: Cost 3 vext3 <4,6,u,2>, <7,4,6,u>
-    3799995762U, // <2,7,4,7>: Cost 4 vext3 <7,0,1,2>, <7,4,7,0>
+    2712245609U, // <2,7,4,6>: Cost 3 vext3 <4,6,0,2>, <7,4,6,0>
+    3136368808U, // <2,7,4,7>: Cost 3 vtrnr <u,2,3,4>, <5,7,5,7>
     2621435433U, // <2,7,4,u>: Cost 3 vext2 <0,6,2,7>, RHS
     2729497990U, // <2,7,5,0>: Cost 3 vext3 <7,5,0,2>, <7,5,0,2>
-    3643679744U, // <2,7,5,1>: Cost 4 vext1 <3,2,7,5>, <1,3,5,7>
-    3637708424U, // <2,7,5,2>: Cost 4 vext1 <2,2,7,5>, <2,2,5,7>
-    3643681137U, // <2,7,5,3>: Cost 4 vext1 <3,2,7,5>, <3,2,7,5>
+    3974968416U, // <2,7,5,1>: Cost 4 vzipl <2,5,3,7>, <7,1,3,5>
+    3906013064U, // <2,7,5,2>: Cost 4 vuzpr <2,2,5,7>, <2,5,7,2>
+    2991469050U, // <2,7,5,3>: Cost 3 vzipr <6,4,2,5>, <6,2,7,3>
     2599800118U, // <2,7,5,4>: Cost 3 vext1 <u,2,7,5>, RHS
-    3786577334U, // <2,7,5,5>: Cost 4 vext3 <4,6,u,2>, <7,5,5,5>
-    3786577345U, // <2,7,5,6>: Cost 4 vext3 <4,6,u,2>, <7,5,6,7>
-    2599802214U, // <2,7,5,7>: Cost 3 vext1 <u,2,7,5>, <7,4,5,6>
-    2599802670U, // <2,7,5,u>: Cost 3 vext1 <u,2,7,5>, LHS
+    3785987510U, // <2,7,5,5>: Cost 4 vext3 <4,6,0,2>, <7,5,5,5>
+    4109997260U, // <2,7,5,6>: Cost 4 vtrnl <2,6,5,7>, <7,2,6,5>
+    2832272694U, // <2,7,5,7>: Cost 3 vuzpr <2,2,5,7>, RHS
+    2832272695U, // <2,7,5,u>: Cost 3 vuzpr <2,2,5,7>, RHS
     2581889126U, // <2,7,6,0>: Cost 3 vext1 <5,2,7,6>, LHS
-    3643687936U, // <2,7,6,1>: Cost 4 vext1 <3,2,7,6>, <1,3,5,7>
-    2663240186U, // <2,7,6,2>: Cost 3 vext2 <7,6,2,7>, <6,2,7,3>
-    3643689330U, // <2,7,6,3>: Cost 4 vext1 <3,2,7,6>, <3,2,7,6>
+    3136459598U, // <2,7,6,1>: Cost 3 vtrnr <u,2,4,6>, <6,7,0,1>
+    2901890250U, // <2,7,6,2>: Cost 3 vzipl <2,6,3,7>, <7,2,6,3>
+    3136458880U, // <2,7,6,3>: Cost 3 vtrnr <u,2,4,6>, <5,7,1,3>
     2581892406U, // <2,7,6,4>: Cost 3 vext1 <5,2,7,6>, RHS
     2581892900U, // <2,7,6,5>: Cost 3 vext1 <5,2,7,6>, <5,2,7,6>
     2587865597U, // <2,7,6,6>: Cost 3 vext1 <6,2,7,6>, <6,2,7,6>
-    3786577428U, // <2,7,6,7>: Cost 4 vext3 <4,6,u,2>, <7,6,7,0>
+    3136458920U, // <2,7,6,7>: Cost 3 vtrnr <u,2,4,6>, <5,7,5,7>
     2581894958U, // <2,7,6,u>: Cost 3 vext1 <5,2,7,6>, LHS
     2726254119U, // <2,7,7,0>: Cost 3 vext3 <7,0,1,2>, <7,7,0,1>
-    3804640817U, // <2,7,7,1>: Cost 4 vext3 <7,7,1,2>, <7,7,1,2>
-    3637724826U, // <2,7,7,2>: Cost 4 vext1 <2,2,7,7>, <2,2,7,7>
-    3734992123U, // <2,7,7,3>: Cost 4 vext2 <7,3,2,7>, <7,3,2,7>
-    2552040758U, // <2,7,7,4>: Cost 3 vext1 <0,2,7,7>, RHS
-    3799995992U, // <2,7,7,5>: Cost 4 vext3 <7,0,1,2>, <7,7,5,5>
+    2765919226U, // <2,7,7,1>: Cost 3 vuzpl <2,3,7,0>, <7,0,1,2>
+    4030719475U, // <2,7,7,2>: Cost 4 vzipr <0,6,2,7>, <2,0,7,2>
+    2998784506U, // <2,7,7,3>: Cost 3 vzipr <7,6,2,7>, <6,2,7,3>
+    2599816502U, // <2,7,7,4>: Cost 3 vext1 <u,2,7,7>, RHS
+    2765952358U, // <2,7,7,5>: Cost 3 vuzpl <2,3,7,4>, <7,4,5,6>
     2663241198U, // <2,7,7,6>: Cost 3 vext2 <7,6,2,7>, <7,6,2,7>
-    2712835692U, // <2,7,7,7>: Cost 3 vext3 <4,6,u,2>, <7,7,7,7>
-    2731562607U, // <2,7,7,u>: Cost 3 vext3 <7,u,1,2>, <7,7,u,1>
+    2712245868U, // <2,7,7,7>: Cost 3 vext3 <4,6,0,2>, <7,7,7,7>
+    2731415152U, // <2,7,7,u>: Cost 3 vext3 <7,7,u,2>, <7,7,u,2>
     1514135654U, // <2,7,u,0>: Cost 2 vext1 <6,2,7,u>, LHS
     1657820802U, // <2,7,u,1>: Cost 2 vext3 <7,u,1,2>, <7,u,1,2>
-    2587879016U, // <2,7,u,2>: Cost 3 vext1 <6,2,7,u>, <2,2,2,2>
-    2569963892U, // <2,7,u,3>: Cost 3 vext1 <3,2,7,u>, <3,2,7,u>
+    2903217372U, // <2,7,u,2>: Cost 3 vzipl <2,u,3,7>, <7,2,u,3>
+    1927704272U, // <2,7,u,3>: Cost 2 vzipr LHS, <5,1,7,3>
     1514138934U, // <2,7,u,4>: Cost 2 vext1 <6,2,7,u>, RHS
     2621438106U, // <2,7,u,5>: Cost 3 vext2 <0,6,2,7>, RHS
     1514140159U, // <2,7,u,6>: Cost 2 vext1 <6,2,7,u>, <6,2,7,u>
-    2587882490U, // <2,7,u,7>: Cost 3 vext1 <6,2,7,u>, <7,0,1,2>
+    1927704600U, // <2,7,u,7>: Cost 2 vzipr LHS, <5,5,7,7>
     1514141486U, // <2,7,u,u>: Cost 2 vext1 <6,2,7,u>, LHS
     1544380416U, // <2,u,0,0>: Cost 2 vext2 LHS, <0,0,0,0>
     470638699U,  // <2,u,0,1>: Cost 1 vext2 LHS, LHS
     1544380580U, // <2,u,0,2>: Cost 2 vext2 LHS, <0,2,0,2>
-    1658631909U, // <2,u,0,3>: Cost 2 vext3 <u,0,3,2>, <u,0,3,2>
+    2020786845U, // <2,u,0,3>: Cost 2 vtrnr <1,2,3,0>, LHS
     1544380754U, // <2,u,0,4>: Cost 2 vext2 LHS, <0,4,1,5>
-    2665898414U, // <2,u,0,5>: Cost 3 vext2 LHS, <0,5,2,7>
-    1658853120U, // <2,u,0,6>: Cost 2 vext3 <u,0,6,2>, <u,0,6,2>
-    3094531625U, // <2,u,0,7>: Cost 3 vtrnr <1,2,3,0>, RHS
+    3094528662U, // <2,u,0,5>: Cost 3 vtrnr <1,2,3,0>, <0,u,1,5>
+    1960106138U, // <2,u,0,6>: Cost 2 vtrnl <2,3,0,1>, RHS
+    2020789801U, // <2,u,0,7>: Cost 2 vtrnr <1,2,3,0>, RHS
     470639261U,  // <2,u,0,u>: Cost 1 vext2 LHS, LHS
     1544381174U, // <2,u,1,0>: Cost 2 vext2 LHS, <1,0,3,2>
     1544381236U, // <2,u,1,1>: Cost 2 vext2 LHS, <1,1,1,1>
@@ -2145,87 +2143,87 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2618123325U, // <2,u,1,4>: Cost 3 vext2 LHS, <1,4,3,5>
     1544381584U, // <2,u,1,5>: Cost 2 vext2 LHS, <1,5,3,7>
     2618123489U, // <2,u,1,6>: Cost 3 vext2 LHS, <1,6,3,7>
-    2726254427U, // <2,u,1,7>: Cost 3 vext3 <7,0,1,2>, <u,1,7,3>
+    3088346665U, // <2,u,1,7>: Cost 3 vtrnr <0,2,0,1>, RHS
     1544381823U, // <2,u,1,u>: Cost 2 vext2 LHS, <1,u,3,3>
-    1478328422U, // <2,u,2,0>: Cost 2 vext1 <0,2,u,2>, LHS
-    2618123807U, // <2,u,2,1>: Cost 3 vext2 LHS, <2,1,3,1>
+    1478328556U, // <2,u,2,0>: Cost 2 vext1 <0,2,u,2>, <0,2,u,2>
+    1825380142U, // <2,u,2,1>: Cost 2 vzipl <2,2,2,2>, LHS
     269271142U,  // <2,u,2,2>: Cost 1 vdup2 LHS
     1544382118U, // <2,u,2,3>: Cost 2 vext2 LHS, <2,3,0,1>
     1478331702U, // <2,u,2,4>: Cost 2 vext1 <0,2,u,2>, RHS
-    2618124136U, // <2,u,2,5>: Cost 3 vext2 LHS, <2,5,3,6>
+    1825380506U, // <2,u,2,5>: Cost 2 vzipl <2,2,2,2>, RHS
     1544382394U, // <2,u,2,6>: Cost 2 vext2 LHS, <2,6,3,7>
-    3088354857U, // <2,u,2,7>: Cost 3 vtrnr <0,2,0,2>, RHS
+    2014613033U, // <2,u,2,7>: Cost 2 vtrnr <0,2,0,2>, RHS
     269271142U,  // <2,u,2,u>: Cost 1 vdup2 LHS
     1544382614U, // <2,u,3,0>: Cost 2 vext2 LHS, <3,0,1,2>
-    2953627374U, // <2,u,3,1>: Cost 3 vzipr LHS, <2,3,u,1>
-    1490282143U, // <2,u,3,2>: Cost 2 vext1 <2,2,u,3>, <2,2,u,3>
-    1879883932U, // <2,u,3,3>: Cost 2 vzipr LHS, LHS
+    1879885550U, // <2,u,3,1>: Cost 2 vzipr LHS, <2,3,u,1>
+    1879884012U, // <2,u,3,2>: Cost 2 vzipr LHS, <0,2,u,2>
+    806142108U,  // <2,u,3,3>: Cost 1 vzipr LHS, LHS
     1544382978U, // <2,u,3,4>: Cost 2 vext2 LHS, <3,4,5,6>
-    2953627378U, // <2,u,3,5>: Cost 3 vzipr LHS, <2,3,u,5>
-    1514172931U, // <2,u,3,6>: Cost 2 vext1 <6,2,u,3>, <6,2,u,3>
-    1879887176U, // <2,u,3,7>: Cost 2 vzipr LHS, RHS
-    1879883937U, // <2,u,3,u>: Cost 2 vzipr LHS, LHS
+    1879885554U, // <2,u,3,5>: Cost 2 vzipr LHS, <2,3,u,5>
+    1879884016U, // <2,u,3,6>: Cost 2 vzipr LHS, <0,2,u,6>
+    806145352U,  // <2,u,3,7>: Cost 1 vzipr LHS, RHS
+    806142113U,  // <2,u,3,u>: Cost 1 vzipr LHS, LHS
     1484316774U, // <2,u,4,0>: Cost 2 vext1 <1,2,u,4>, LHS
     1484317639U, // <2,u,4,1>: Cost 2 vext1 <1,2,u,4>, <1,2,u,4>
-    2552088270U, // <2,u,4,2>: Cost 3 vext1 <0,2,u,4>, <2,3,4,5>
-    1190213513U, // <2,u,4,3>: Cost 2 vrev <u,2,3,4>
+    1960433454U, // <2,u,4,2>: Cost 2 vtrnl <2,3,4,5>, LHS
+    2020819613U, // <2,u,4,3>: Cost 2 vtrnr <1,2,3,4>, LHS
     1484320054U, // <2,u,4,4>: Cost 2 vext1 <1,2,u,4>, RHS
     470641974U,  // <2,u,4,5>: Cost 1 vext2 LHS, RHS
-    1592159604U, // <2,u,4,6>: Cost 2 vext2 LHS, <4,6,4,6>
-    3094564393U, // <2,u,4,7>: Cost 3 vtrnr <1,2,3,4>, RHS
+    1691610422U, // <2,u,4,6>: Cost 2 vuzpl <2,2,u,3>, RHS
+    2020822569U, // <2,u,4,7>: Cost 2 vtrnr <1,2,3,4>, RHS
     470642217U,  // <2,u,4,u>: Cost 1 vext2 LHS, RHS
     2552094959U, // <2,u,5,0>: Cost 3 vext1 <0,2,u,5>, <0,2,u,5>
     1592159952U, // <2,u,5,1>: Cost 2 vext2 LHS, <5,1,7,3>
-    2564040353U, // <2,u,5,2>: Cost 3 vext1 <2,2,u,5>, <2,2,u,5>
-    2690275455U, // <2,u,5,3>: Cost 3 vext3 <0,u,u,2>, <u,5,3,7>
+    3032274734U, // <2,u,5,2>: Cost 3 vtrnl <2,0,5,7>, LHS
+    2953642140U, // <2,u,5,3>: Cost 3 vzipr <0,1,2,5>, LHS
     1592160198U, // <2,u,5,4>: Cost 2 vext2 LHS, <5,4,7,6>
     1592160260U, // <2,u,5,5>: Cost 2 vext2 LHS, <5,5,5,5>
     1611962522U, // <2,u,5,6>: Cost 2 vext3 <0,2,0,2>, RHS
-    1592160424U, // <2,u,5,7>: Cost 2 vext2 LHS, <5,7,5,7>
+    1746226486U, // <2,u,5,7>: Cost 2 vuzpr <0,2,0,u>, RHS
     1611962540U, // <2,u,5,u>: Cost 2 vext3 <0,2,0,2>, RHS
-    1478361190U, // <2,u,6,0>: Cost 2 vext1 <0,2,u,6>, LHS
-    2552103670U, // <2,u,6,1>: Cost 3 vext1 <0,2,u,6>, <1,0,3,2>
+    1478361328U, // <2,u,6,0>: Cost 2 vext1 <0,2,u,6>, <0,2,u,6>
+    1828149038U, // <2,u,6,1>: Cost 2 vzipl <2,6,3,7>, LHS
     1592160762U, // <2,u,6,2>: Cost 2 vext2 LHS, <6,2,7,3>
-    2685704400U, // <2,u,6,3>: Cost 3 vext3 <0,2,0,2>, <u,6,3,7>
+    2014937757U, // <2,u,6,3>: Cost 2 vtrnr <0,2,4,6>, LHS
     1478364470U, // <2,u,6,4>: Cost 2 vext1 <0,2,u,6>, RHS
-    2901891226U, // <2,u,6,5>: Cost 3 vzipl <2,6,3,7>, RHS
+    1828149402U, // <2,u,6,5>: Cost 2 vzipl <2,6,3,7>, RHS
     1592161080U, // <2,u,6,6>: Cost 2 vext2 LHS, <6,6,6,6>
-    1592161102U, // <2,u,6,7>: Cost 2 vext2 LHS, <6,7,0,1>
-    1478367022U, // <2,u,6,u>: Cost 2 vext1 <0,2,u,6>, LHS
+    2014940713U, // <2,u,6,7>: Cost 2 vtrnr <0,2,4,6>, RHS
+    2014937762U, // <2,u,6,u>: Cost 2 vtrnr <0,2,4,6>, LHS
     1592161274U, // <2,u,7,0>: Cost 2 vext2 LHS, <7,0,1,2>
-    2659931226U, // <2,u,7,1>: Cost 3 vext2 <7,1,2,u>, <7,1,2,u>
+    2714163467U, // <2,u,7,1>: Cost 3 vext3 <4,u,u,2>, <u,7,1,3>
     2564056739U, // <2,u,7,2>: Cost 3 vext1 <2,2,u,7>, <2,2,u,7>
-    2665903331U, // <2,u,7,3>: Cost 3 vext2 LHS, <7,3,0,1>
+    2956976284U, // <2,u,7,3>: Cost 3 vzipr <0,6,2,7>, LHS
     1592161638U, // <2,u,7,4>: Cost 2 vext2 LHS, <7,4,5,6>
-    2665903494U, // <2,u,7,5>: Cost 3 vext2 LHS, <7,5,0,2>
-    2587947527U, // <2,u,7,6>: Cost 3 vext1 <6,2,u,7>, <6,2,u,7>
+    2714163507U, // <2,u,7,5>: Cost 3 vext3 <4,u,u,2>, <u,7,5,7>
+    2768041167U, // <2,u,7,6>: Cost 3 vuzpl <2,6,u,7>, <7,2,6,u>
     1592161900U, // <2,u,7,7>: Cost 2 vext2 LHS, <7,7,7,7>
     1592161922U, // <2,u,7,u>: Cost 2 vext2 LHS, <7,u,1,2>
-    1478377574U, // <2,u,u,0>: Cost 2 vext1 <0,2,u,u>, LHS
+    1879925699U, // <2,u,u,0>: Cost 2 vzipr LHS, <1,2,u,0>
     470644526U,  // <2,u,u,1>: Cost 1 vext2 LHS, LHS
     269271142U,  // <2,u,u,2>: Cost 1 vdup2 LHS
-    1879924892U, // <2,u,u,3>: Cost 2 vzipr LHS, LHS
-    1478380854U, // <2,u,u,4>: Cost 2 vext1 <0,2,u,u>, RHS
+    806183068U,  // <2,u,u,3>: Cost 1 vzipr LHS, LHS
+    1879925703U, // <2,u,u,4>: Cost 2 vzipr LHS, <1,2,u,4>
     470644890U,  // <2,u,u,5>: Cost 1 vext2 LHS, RHS
-    1611962765U, // <2,u,u,6>: Cost 2 vext3 <0,2,0,2>, RHS
-    1879928136U, // <2,u,u,7>: Cost 2 vzipr LHS, RHS
+    1879924976U, // <2,u,u,6>: Cost 2 vzipr LHS, <0,2,u,6>
+    806186312U,  // <2,u,u,7>: Cost 1 vzipr LHS, RHS
     470645093U,  // <2,u,u,u>: Cost 1 vext2 LHS, LHS
     1611448320U, // <3,0,0,0>: Cost 2 vext3 LHS, <0,0,0,0>
     1611890698U, // <3,0,0,1>: Cost 2 vext3 LHS, <0,0,1,1>
     1611890708U, // <3,0,0,2>: Cost 2 vext3 LHS, <0,0,2,2>
-    3763576860U, // <3,0,0,3>: Cost 4 vext3 LHS, <0,0,3,1>
+    2960312624U, // <3,0,0,3>: Cost 3 vzipr <1,2,3,0>, <3,2,0,3>
     2689835045U, // <3,0,0,4>: Cost 3 vext3 LHS, <0,0,4,1>
-    3698508206U, // <3,0,0,5>: Cost 4 vext2 <1,2,3,0>, <0,5,2,7>
+    2685190196U, // <3,0,0,5>: Cost 3 vext3 LHS, <0,0,5,7>
     3763576887U, // <3,0,0,6>: Cost 4 vext3 LHS, <0,0,6,1>
-    3667678434U, // <3,0,0,7>: Cost 4 vext1 <7,3,0,0>, <7,3,0,0>
+    2960312142U, // <3,0,0,7>: Cost 3 vzipr <1,2,3,0>, <2,5,0,7>
     1616093258U, // <3,0,0,u>: Cost 2 vext3 LHS, <0,0,u,2>
     1490337894U, // <3,0,1,0>: Cost 2 vext1 <2,3,0,1>, LHS
     2685632602U, // <3,0,1,1>: Cost 3 vext3 LHS, <0,1,1,0>
     537706598U,  // <3,0,1,2>: Cost 1 vext3 LHS, LHS
-    2624766936U, // <3,0,1,3>: Cost 3 vext2 <1,2,3,0>, <1,3,1,3>
+    2820636774U, // <3,0,1,3>: Cost 3 vuzpr <0,3,1,0>, LHS
     1490341174U, // <3,0,1,4>: Cost 2 vext1 <2,3,0,1>, RHS
     2624767120U, // <3,0,1,5>: Cost 3 vext2 <1,2,3,0>, <1,5,3,7>
-    2732966030U, // <3,0,1,6>: Cost 3 vext3 LHS, <0,1,6,7>
+    3100952028U, // <3,0,1,6>: Cost 3 vtrnr <2,3,0,1>, <2,0,4,6>
     2593944803U, // <3,0,1,7>: Cost 3 vext1 <7,3,0,1>, <7,3,0,1>
     537706652U,  // <3,0,1,u>: Cost 1 vext3 LHS, LHS
     1611890852U, // <3,0,2,0>: Cost 2 vext3 LHS, <0,2,0,2>
@@ -2233,162 +2231,162 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2685632692U, // <3,0,2,2>: Cost 3 vext3 LHS, <0,2,2,0>
     2685632702U, // <3,0,2,3>: Cost 3 vext3 LHS, <0,2,3,1>
     1611890892U, // <3,0,2,4>: Cost 2 vext3 LHS, <0,2,4,6>
-    2732966102U, // <3,0,2,5>: Cost 3 vext3 LHS, <0,2,5,7>
+    2959000610U, // <3,0,2,5>: Cost 3 vzipr <1,0,3,2>, <1,4,0,5>
     2624767930U, // <3,0,2,6>: Cost 3 vext2 <1,2,3,0>, <2,6,3,7>
-    2685632744U, // <3,0,2,7>: Cost 3 vext3 LHS, <0,2,7,7>
+    2685632738U, // <3,0,2,7>: Cost 3 vext3 LHS, <0,2,7,1>
     1611890924U, // <3,0,2,u>: Cost 2 vext3 LHS, <0,2,u,2>
-    2624768150U, // <3,0,3,0>: Cost 3 vext2 <1,2,3,0>, <3,0,1,2>
-    2685632764U, // <3,0,3,1>: Cost 3 vext3 LHS, <0,3,1,0>
-    2685632774U, // <3,0,3,2>: Cost 3 vext3 LHS, <0,3,2,1>
+    2820636924U, // <3,0,3,0>: Cost 3 vuzpr <0,3,1,0>, <0,3,1,0>
+    1832091750U, // <3,0,3,1>: Cost 2 vzipl <3,3,3,3>, LHS
+    1966309478U, // <3,0,3,2>: Cost 2 vtrnl <3,3,3,3>, LHS
     2624768412U, // <3,0,3,3>: Cost 3 vext2 <1,2,3,0>, <3,3,3,3>
     2624768514U, // <3,0,3,4>: Cost 3 vext2 <1,2,3,0>, <3,4,5,6>
-    3702491714U, // <3,0,3,5>: Cost 4 vext2 <1,u,3,0>, <3,5,3,7>
+    2772716034U, // <3,0,3,5>: Cost 3 vuzpl <3,5,0,2>, <3,4,5,6>
     2624768632U, // <3,0,3,6>: Cost 3 vext2 <1,2,3,0>, <3,6,0,7>
-    3702491843U, // <3,0,3,7>: Cost 4 vext2 <1,u,3,0>, <3,7,0,1>
-    2686959934U, // <3,0,3,u>: Cost 3 vext3 <0,3,u,3>, <0,3,u,3>
-    2689835336U, // <3,0,4,0>: Cost 3 vext3 LHS, <0,4,0,4>
+    3894379520U, // <3,0,3,7>: Cost 4 vuzpr <0,3,1,0>, <1,3,5,7>
+    1832092317U, // <3,0,3,u>: Cost 2 vzipl <3,3,3,3>, LHS
+    2689835334U, // <3,0,4,0>: Cost 3 vext3 LHS, <0,4,0,2>
     1611891026U, // <3,0,4,1>: Cost 2 vext3 LHS, <0,4,1,5>
     1611891036U, // <3,0,4,2>: Cost 2 vext3 LHS, <0,4,2,6>
-    3763577184U, // <3,0,4,3>: Cost 4 vext3 LHS, <0,4,3,1>
-    2689835374U, // <3,0,4,4>: Cost 3 vext3 LHS, <0,4,4,6>
+    2906669312U, // <3,0,4,3>: Cost 3 vzipl <3,4,5,6>, <0,3,1,4>
+    2689835373U, // <3,0,4,4>: Cost 3 vext3 LHS, <0,4,4,5>
     1551027510U, // <3,0,4,5>: Cost 2 vext2 <1,2,3,0>, RHS
-    2666573172U, // <3,0,4,6>: Cost 3 vext2 <u,2,3,0>, <4,6,4,6>
-    3667711206U, // <3,0,4,7>: Cost 4 vext1 <7,3,0,4>, <7,3,0,4>
+    2769382710U, // <3,0,4,6>: Cost 3 vuzpl <3,0,0,0>, RHS
+    4034086734U, // <3,0,4,7>: Cost 4 vzipr <1,2,3,4>, <2,5,0,7>
     1616093586U, // <3,0,4,u>: Cost 2 vext3 LHS, <0,4,u,6>
-    2685190556U, // <3,0,5,0>: Cost 3 vext3 LHS, <0,5,0,7>
-    2666573520U, // <3,0,5,1>: Cost 3 vext2 <u,2,3,0>, <5,1,7,3>
-    3040886886U, // <3,0,5,2>: Cost 3 vtrnl <3,4,5,6>, LHS
-    3625912834U, // <3,0,5,3>: Cost 4 vext1 <0,3,0,5>, <3,4,5,6>
-    2666573766U, // <3,0,5,4>: Cost 3 vext2 <u,2,3,0>, <5,4,7,6>
+    3101278208U, // <3,0,5,0>: Cost 3 vtrnr <2,3,4,5>, <0,0,0,0>
+    3101278218U, // <3,0,5,1>: Cost 3 vtrnr <2,3,4,5>, <0,0,1,1>
+    1967145062U, // <3,0,5,2>: Cost 2 vtrnl <3,4,5,6>, LHS
+    3040886978U, // <3,0,5,3>: Cost 3 vtrnl <3,4,5,6>, <0,2,3,5>
+    3040886988U, // <3,0,5,4>: Cost 3 vtrnl <3,4,5,6>, <0,2,4,6>
     2666573828U, // <3,0,5,5>: Cost 3 vext2 <u,2,3,0>, <5,5,5,5>
     2732966354U, // <3,0,5,6>: Cost 3 vext3 LHS, <0,5,6,7>
-    2666573992U, // <3,0,5,7>: Cost 3 vext2 <u,2,3,0>, <5,7,5,7>
-    3040886940U, // <3,0,5,u>: Cost 3 vtrnl <3,4,5,6>, LHS
+    2820640054U, // <3,0,5,7>: Cost 3 vuzpr <0,3,1,0>, RHS
+    1967145116U, // <3,0,5,u>: Cost 2 vtrnl <3,4,5,6>, LHS
     2685190637U, // <3,0,6,0>: Cost 3 vext3 LHS, <0,6,0,7>
-    2732966390U, // <3,0,6,1>: Cost 3 vext3 LHS, <0,6,1,7>
+    2907635814U, // <3,0,6,1>: Cost 3 vzipl <3,6,0,7>, LHS
     2689835519U, // <3,0,6,2>: Cost 3 vext3 LHS, <0,6,2,7>
-    3667724438U, // <3,0,6,3>: Cost 4 vext1 <7,3,0,6>, <3,0,1,2>
-    3763577355U, // <3,0,6,4>: Cost 4 vext3 LHS, <0,6,4,1>
-    3806708243U, // <3,0,6,5>: Cost 4 vext3 LHS, <0,6,5,0>
+    4113350851U, // <3,0,6,3>: Cost 4 vtrnl <3,2,6,3>, <0,2,3,6>
+    3290669341U, // <3,0,6,4>: Cost 4 vrev <0,3,4,6>
+    3981525422U, // <3,0,6,5>: Cost 4 vzipl <3,6,2,7>, <0,5,2,7>
     2666574648U, // <3,0,6,6>: Cost 3 vext2 <u,2,3,0>, <6,6,6,6>
-    2657948520U, // <3,0,6,7>: Cost 3 vext2 <6,7,3,0>, <6,7,3,0>
+    2856912826U, // <3,0,6,7>: Cost 3 vuzpr <6,3,7,0>, <2,6,3,7>
     2689835573U, // <3,0,6,u>: Cost 3 vext3 LHS, <0,6,u,7>
-    2666574842U, // <3,0,7,0>: Cost 3 vext2 <u,2,3,0>, <7,0,1,2>
-    2685633095U, // <3,0,7,1>: Cost 3 vext3 LHS, <0,7,1,7>
-    2660603052U, // <3,0,7,2>: Cost 3 vext2 <7,2,3,0>, <7,2,3,0>
-    3643844997U, // <3,0,7,3>: Cost 4 vext1 <3,3,0,7>, <3,3,0,7>
+    3095396352U, // <3,0,7,0>: Cost 3 vtrnr <1,3,5,7>, <0,0,0,0>
+    3095396362U, // <3,0,7,1>: Cost 3 vtrnr <1,3,5,7>, <0,0,1,1>
+    3095396372U, // <3,0,7,2>: Cost 3 vtrnr <1,3,5,7>, <0,0,2,2>
+    4169139646U, // <3,0,7,3>: Cost 4 vtrnr <1,3,5,7>, <2,0,1,3>
     2666575206U, // <3,0,7,4>: Cost 3 vext2 <u,2,3,0>, <7,4,5,6>
-    3655790391U, // <3,0,7,5>: Cost 4 vext1 <5,3,0,7>, <5,3,0,7>
-    3731690968U, // <3,0,7,6>: Cost 4 vext2 <6,7,3,0>, <7,6,0,3>
+    4169138190U, // <3,0,7,5>: Cost 4 vtrnr <1,3,5,7>, <0,0,1,5>
+    4169138218U, // <3,0,7,6>: Cost 4 vtrnr <1,3,5,7>, <0,0,4,6>
     2666575468U, // <3,0,7,7>: Cost 3 vext2 <u,2,3,0>, <7,7,7,7>
-    2664584850U, // <3,0,7,u>: Cost 3 vext2 <7,u,3,0>, <7,u,3,0>
+    3095396369U, // <3,0,7,u>: Cost 3 vtrnr <1,3,5,7>, <0,0,1,u>
     1616093834U, // <3,0,u,0>: Cost 2 vext3 LHS, <0,u,0,2>
     1611891346U, // <3,0,u,1>: Cost 2 vext3 LHS, <0,u,1,1>
     537707165U,  // <3,0,u,2>: Cost 1 vext3 LHS, LHS
-    2689835684U, // <3,0,u,3>: Cost 3 vext3 LHS, <0,u,3,1>
+    2820637341U, // <3,0,u,3>: Cost 3 vuzpr <0,3,1,0>, LHS
     1616093874U, // <3,0,u,4>: Cost 2 vext3 LHS, <0,u,4,6>
     1551030426U, // <3,0,u,5>: Cost 2 vext2 <1,2,3,0>, RHS
     2624772304U, // <3,0,u,6>: Cost 3 vext2 <1,2,3,0>, <u,6,3,7>
-    2594002154U, // <3,0,u,7>: Cost 3 vext1 <7,3,0,u>, <7,3,0,u>
+    2820640297U, // <3,0,u,7>: Cost 3 vuzpr <0,3,1,0>, RHS
     537707219U,  // <3,0,u,u>: Cost 1 vext3 LHS, LHS
-    2552201318U, // <3,1,0,0>: Cost 3 vext1 <0,3,1,0>, LHS
+    2552201468U, // <3,1,0,0>: Cost 3 vext1 <0,3,1,0>, <0,3,1,0>
     2618802278U, // <3,1,0,1>: Cost 3 vext2 <0,2,3,1>, LHS
-    2618802366U, // <3,1,0,2>: Cost 3 vext2 <0,2,3,1>, <0,2,3,1>
+    1695727718U, // <3,1,0,2>: Cost 2 vuzpl <3,0,1,2>, LHS
     1611449078U, // <3,1,0,3>: Cost 2 vext3 LHS, <1,0,3,2>
     2552204598U, // <3,1,0,4>: Cost 3 vext1 <0,3,1,0>, RHS
-    2732966663U, // <3,1,0,5>: Cost 3 vext3 LHS, <1,0,5,1>
-    3906258396U, // <3,1,0,6>: Cost 4 vuzpr <2,3,0,1>, <2,0,4,6>
-    3667752171U, // <3,1,0,7>: Cost 4 vext1 <7,3,1,0>, <7,3,1,0>
+    2960310610U, // <3,1,0,5>: Cost 3 vzipr <1,2,3,0>, <0,4,1,5>
+    2832516572U, // <3,1,0,6>: Cost 3 vuzpr <2,3,0,1>, <2,0,4,6>
+    4034053246U, // <3,1,0,7>: Cost 4 vzipr <1,2,3,0>, <1,5,1,7>
     1611891491U, // <3,1,0,u>: Cost 2 vext3 LHS, <1,0,u,2>
     2689835819U, // <3,1,1,0>: Cost 3 vext3 LHS, <1,1,0,1>
     1611449140U, // <3,1,1,1>: Cost 2 vext3 LHS, <1,1,1,1>
-    2624775063U, // <3,1,1,2>: Cost 3 vext2 <1,2,3,1>, <1,2,3,1>
+    2954348694U, // <3,1,1,2>: Cost 3 vzipr <0,2,3,1>, <3,0,1,2>
     1611891528U, // <3,1,1,3>: Cost 2 vext3 LHS, <1,1,3,3>
     2689835859U, // <3,1,1,4>: Cost 3 vext3 LHS, <1,1,4,5>
     2689835868U, // <3,1,1,5>: Cost 3 vext3 LHS, <1,1,5,5>
-    3763577701U, // <3,1,1,6>: Cost 4 vext3 LHS, <1,1,6,5>
-    3765273452U, // <3,1,1,7>: Cost 4 vext3 <1,1,7,3>, <1,1,7,3>
+    3763577699U, // <3,1,1,6>: Cost 4 vext3 LHS, <1,1,6,3>
+    3100952848U, // <3,1,1,7>: Cost 3 vtrnr <2,3,0,1>, <3,1,5,7>
     1611891573U, // <3,1,1,u>: Cost 2 vext3 LHS, <1,1,u,3>
-    2629420494U, // <3,1,2,0>: Cost 3 vext2 <2,0,3,1>, <2,0,3,1>
+    2958999642U, // <3,1,2,0>: Cost 3 vzipr <1,0,3,2>, <0,1,1,0>
     2689835911U, // <3,1,2,1>: Cost 3 vext3 LHS, <1,2,1,3>
-    2564163248U, // <3,1,2,2>: Cost 3 vext1 <2,3,1,2>, <2,3,1,2>
+    2959001750U, // <3,1,2,2>: Cost 3 vzipr <1,0,3,2>, <3,0,1,2>
     1611449238U, // <3,1,2,3>: Cost 2 vext3 LHS, <1,2,3,0>
-    2564164918U, // <3,1,2,4>: Cost 3 vext1 <2,3,1,2>, RHS
+    2832515994U, // <3,1,2,4>: Cost 3 vuzpr <2,3,0,1>, <1,2,3,4>
     2689835947U, // <3,1,2,5>: Cost 3 vext3 LHS, <1,2,5,3>
-    3692545978U, // <3,1,2,6>: Cost 4 vext2 <0,2,3,1>, <2,6,3,7>
+    2832515276U, // <3,1,2,6>: Cost 3 vuzpr <2,3,0,1>, <0,2,4,6>
     2732966842U, // <3,1,2,7>: Cost 3 vext3 LHS, <1,2,7,0>
     1611891651U, // <3,1,2,u>: Cost 2 vext3 LHS, <1,2,u,0>
     1484456038U, // <3,1,3,0>: Cost 2 vext1 <1,3,1,3>, LHS
     1611891672U, // <3,1,3,1>: Cost 2 vext3 LHS, <1,3,1,3>
     2685633502U, // <3,1,3,2>: Cost 3 vext3 LHS, <1,3,2,0>
-    2685633512U, // <3,1,3,3>: Cost 3 vext3 LHS, <1,3,3,1>
+    2021326950U, // <3,1,3,3>: Cost 2 vtrnr <1,3,1,3>, LHS
     1484459318U, // <3,1,3,4>: Cost 2 vext1 <1,3,1,3>, RHS
     1611891712U, // <3,1,3,5>: Cost 2 vext3 LHS, <1,3,5,7>
     2689836041U, // <3,1,3,6>: Cost 3 vext3 LHS, <1,3,6,7>
-    2733409294U, // <3,1,3,7>: Cost 3 vext3 LHS, <1,3,7,3>
+    2832516096U, // <3,1,3,7>: Cost 3 vuzpr <2,3,0,1>, <1,3,5,7>
     1611891735U, // <3,1,3,u>: Cost 2 vext3 LHS, <1,3,u,3>
-    2552234086U, // <3,1,4,0>: Cost 3 vext1 <0,3,1,4>, LHS
-    2732966955U, // <3,1,4,1>: Cost 3 vext3 LHS, <1,4,1,5>
-    2732966964U, // <3,1,4,2>: Cost 3 vext3 LHS, <1,4,2,5>
+    2552234240U, // <3,1,4,0>: Cost 3 vext1 <0,3,1,4>, <0,3,1,4>
+    2960343050U, // <3,1,4,1>: Cost 3 vzipr <1,2,3,4>, <0,0,1,1>
+    2960345238U, // <3,1,4,2>: Cost 3 vzipr <1,2,3,4>, <3,0,1,2>
     2685633597U, // <3,1,4,3>: Cost 3 vext3 LHS, <1,4,3,5>
     2552237366U, // <3,1,4,4>: Cost 3 vext1 <0,3,1,4>, RHS
     2618805558U, // <3,1,4,5>: Cost 3 vext2 <0,2,3,1>, RHS
-    2769472822U, // <3,1,4,6>: Cost 3 vuzpl <3,0,1,2>, RHS
-    3667784943U, // <3,1,4,7>: Cost 4 vext1 <7,3,1,4>, <7,3,1,4>
-    2685633642U, // <3,1,4,u>: Cost 3 vext3 LHS, <1,4,u,5>
+    1695730998U, // <3,1,4,6>: Cost 2 vuzpl <3,0,1,2>, RHS
+    4034086014U, // <3,1,4,7>: Cost 4 vzipr <1,2,3,4>, <1,5,1,7>
+    1695731016U, // <3,1,4,u>: Cost 2 vuzpl <3,0,1,2>, RHS
     2689836143U, // <3,1,5,0>: Cost 3 vext3 LHS, <1,5,0,1>
     2564187280U, // <3,1,5,1>: Cost 3 vext1 <2,3,1,5>, <1,5,3,7>
     2564187827U, // <3,1,5,2>: Cost 3 vext1 <2,3,1,5>, <2,3,1,5>
     1611891856U, // <3,1,5,3>: Cost 2 vext3 LHS, <1,5,3,7>
     2689836183U, // <3,1,5,4>: Cost 3 vext3 LHS, <1,5,4,5>
-    3759375522U, // <3,1,5,5>: Cost 4 vext3 LHS, <1,5,5,7>
-    3720417378U, // <3,1,5,6>: Cost 4 vext2 <4,u,3,1>, <5,6,7,0>
-    2832518454U, // <3,1,5,7>: Cost 3 vuzpr <2,3,0,1>, RHS
+    2961678674U, // <3,1,5,5>: Cost 3 vzipr <1,4,3,5>, <0,4,1,5>
+    4169048187U, // <3,1,5,6>: Cost 4 vtrnr <1,3,4,5>, <0,1,4,6>
+    1758776630U, // <3,1,5,7>: Cost 2 vuzpr <2,3,0,1>, RHS
     1611891901U, // <3,1,5,u>: Cost 2 vext3 LHS, <1,5,u,7>
-    3763578048U, // <3,1,6,0>: Cost 4 vext3 LHS, <1,6,0,1>
+    2907783926U, // <3,1,6,0>: Cost 3 vzipl <3,6,2,7>, <1,0,3,2>
     2689836239U, // <3,1,6,1>: Cost 3 vext3 LHS, <1,6,1,7>
-    2732967128U, // <3,1,6,2>: Cost 3 vext3 LHS, <1,6,2,7>
+    2222752740U, // <3,1,6,2>: Cost 3 vrev <1,3,2,6>
     2685633761U, // <3,1,6,3>: Cost 3 vext3 LHS, <1,6,3,7>
-    3763578088U, // <3,1,6,4>: Cost 4 vext3 LHS, <1,6,4,5>
+    2222900214U, // <3,1,6,4>: Cost 3 vrev <1,3,4,6>
     2689836275U, // <3,1,6,5>: Cost 3 vext3 LHS, <1,6,5,7>
-    3763578108U, // <3,1,6,6>: Cost 4 vext3 LHS, <1,6,6,7>
-    2732967166U, // <3,1,6,7>: Cost 3 vext3 LHS, <1,6,7,0>
+    2868350324U, // <3,1,6,6>: Cost 3 vuzpr <u,3,0,1>, <4,6,4,6>
+    2832517050U, // <3,1,6,7>: Cost 3 vuzpr <2,3,0,1>, <2,6,3,7>
     2685633806U, // <3,1,6,u>: Cost 3 vext3 LHS, <1,6,u,7>
-    3631972454U, // <3,1,7,0>: Cost 4 vext1 <1,3,1,7>, LHS
-    2659947612U, // <3,1,7,1>: Cost 3 vext2 <7,1,3,1>, <7,1,3,1>
-    4036102294U, // <3,1,7,2>: Cost 4 vzipr <1,5,3,7>, <3,0,1,2>
-    3095396454U, // <3,1,7,3>: Cost 3 vtrnr <1,3,5,7>, LHS
+    2769474787U, // <3,1,7,0>: Cost 3 vuzpl <3,0,1,2>, <7,3,0,1>
+    3095397172U, // <3,1,7,1>: Cost 3 vtrnr <1,3,5,7>, <1,1,1,1>
+    2962360470U, // <3,1,7,2>: Cost 3 vzipr <1,5,3,7>, <3,0,1,2>
+    2021654630U, // <3,1,7,3>: Cost 2 vtrnr <1,3,5,7>, LHS
     3631975734U, // <3,1,7,4>: Cost 4 vext1 <1,3,1,7>, RHS
-    2222982144U, // <3,1,7,5>: Cost 3 vrev <1,3,5,7>
-    3296797705U, // <3,1,7,6>: Cost 4 vrev <1,3,6,7>
-    3720418924U, // <3,1,7,7>: Cost 4 vext2 <4,u,3,1>, <7,7,7,7>
-    3095396459U, // <3,1,7,u>: Cost 3 vtrnr <1,3,5,7>, LHS
+    1149240320U, // <3,1,7,5>: Cost 2 vrev <1,3,5,7>
+    2223055881U, // <3,1,7,6>: Cost 3 vrev <1,3,6,7>
+    2868351144U, // <3,1,7,7>: Cost 3 vuzpr <u,3,0,1>, <5,7,5,7>
+    2021654635U, // <3,1,7,u>: Cost 2 vtrnr <1,3,5,7>, LHS
     1484496998U, // <3,1,u,0>: Cost 2 vext1 <1,3,1,u>, LHS
     1611892077U, // <3,1,u,1>: Cost 2 vext3 LHS, <1,u,1,3>
-    2685633907U, // <3,1,u,2>: Cost 3 vext3 LHS, <1,u,2,0>
+    1695733550U, // <3,1,u,2>: Cost 2 vuzpl <3,0,1,2>, LHS
     1611892092U, // <3,1,u,3>: Cost 2 vext3 LHS, <1,u,3,0>
     1484500278U, // <3,1,u,4>: Cost 2 vext1 <1,3,1,u>, RHS
     1611892117U, // <3,1,u,5>: Cost 2 vext3 LHS, <1,u,5,7>
-    2685633950U, // <3,1,u,6>: Cost 3 vext3 LHS, <1,u,6,7>
-    2832518697U, // <3,1,u,7>: Cost 3 vuzpr <2,3,0,1>, RHS
+    1695733914U, // <3,1,u,6>: Cost 2 vuzpl <3,0,1,2>, RHS
+    1758776873U, // <3,1,u,7>: Cost 2 vuzpr <2,3,0,1>, RHS
     1611892140U, // <3,1,u,u>: Cost 2 vext3 LHS, <1,u,u,3>
     2623455232U, // <3,2,0,0>: Cost 3 vext2 <1,0,3,2>, <0,0,0,0>
     1549713510U, // <3,2,0,1>: Cost 2 vext2 <1,0,3,2>, LHS
     2689836484U, // <3,2,0,2>: Cost 3 vext3 LHS, <2,0,2,0>
-    2685633997U, // <3,2,0,3>: Cost 3 vext3 LHS, <2,0,3,0>
+    1886568550U, // <3,2,0,3>: Cost 2 vzipr <1,2,3,0>, LHS
     2623455570U, // <3,2,0,4>: Cost 3 vext2 <1,0,3,2>, <0,4,1,5>
-    2732967398U, // <3,2,0,5>: Cost 3 vext3 LHS, <2,0,5,7>
+    2960311348U, // <3,2,0,5>: Cost 3 vzipr <1,2,3,0>, <1,4,2,5>
     2689836524U, // <3,2,0,6>: Cost 3 vext3 LHS, <2,0,6,4>
     2229044964U, // <3,2,0,7>: Cost 3 vrev <2,3,7,0>
     1549714077U, // <3,2,0,u>: Cost 2 vext2 <1,0,3,2>, LHS
     1549714166U, // <3,2,1,0>: Cost 2 vext2 <1,0,3,2>, <1,0,3,2>
     2623456052U, // <3,2,1,1>: Cost 3 vext2 <1,0,3,2>, <1,1,1,1>
-    2623456150U, // <3,2,1,2>: Cost 3 vext2 <1,0,3,2>, <1,2,3,0>
+    2689836568U, // <3,2,1,2>: Cost 3 vext3 LHS, <2,1,2,3>
     2685634079U, // <3,2,1,3>: Cost 3 vext3 LHS, <2,1,3,1>
     2552286518U, // <3,2,1,4>: Cost 3 vext1 <0,3,2,1>, RHS
     2623456400U, // <3,2,1,5>: Cost 3 vext2 <1,0,3,2>, <1,5,3,7>
     2689836604U, // <3,2,1,6>: Cost 3 vext3 LHS, <2,1,6,3>
-    3667834101U, // <3,2,1,7>: Cost 4 vext1 <7,3,2,1>, <7,3,2,1>
+    4034060718U, // <3,2,1,7>: Cost 4 vzipr <1,2,3,1>, <0,5,2,7>
     1155385070U, // <3,2,1,u>: Cost 2 vrev <2,3,u,1>
     2689836629U, // <3,2,2,0>: Cost 3 vext3 LHS, <2,2,0,1>
     2689836640U, // <3,2,2,1>: Cost 3 vext3 LHS, <2,2,1,3>
@@ -2396,35 +2394,35 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1611892338U, // <3,2,2,3>: Cost 2 vext3 LHS, <2,2,3,3>
     2689836669U, // <3,2,2,4>: Cost 3 vext3 LHS, <2,2,4,5>
     2689836680U, // <3,2,2,5>: Cost 3 vext3 LHS, <2,2,5,7>
-    2689836688U, // <3,2,2,6>: Cost 3 vext3 LHS, <2,2,6,6>
-    3763578518U, // <3,2,2,7>: Cost 4 vext3 LHS, <2,2,7,3>
+    2689836685U, // <3,2,2,6>: Cost 3 vext3 LHS, <2,2,6,3>
+    2958999982U, // <3,2,2,7>: Cost 3 vzipr <1,0,3,2>, <0,5,2,7>
     1611892383U, // <3,2,2,u>: Cost 2 vext3 LHS, <2,2,u,3>
     1611450022U, // <3,2,3,0>: Cost 2 vext3 LHS, <2,3,0,1>
     2685191854U, // <3,2,3,1>: Cost 3 vext3 LHS, <2,3,1,0>
     2685191865U, // <3,2,3,2>: Cost 3 vext3 LHS, <2,3,2,2>
-    2685191875U, // <3,2,3,3>: Cost 3 vext3 LHS, <2,3,3,3>
+    1885929574U, // <3,2,3,3>: Cost 2 vzipr <1,1,3,3>, LHS
     1611450062U, // <3,2,3,4>: Cost 2 vext3 LHS, <2,3,4,5>
     2732967635U, // <3,2,3,5>: Cost 3 vext3 LHS, <2,3,5,1>
-    2732967645U, // <3,2,3,6>: Cost 3 vext3 LHS, <2,3,6,2>
+    2959671644U, // <3,2,3,6>: Cost 3 vzipr <1,1,3,3>, <0,4,2,6>
     2732967652U, // <3,2,3,7>: Cost 3 vext3 LHS, <2,3,7,0>
     1611450094U, // <3,2,3,u>: Cost 2 vext3 LHS, <2,3,u,1>
     2558279782U, // <3,2,4,0>: Cost 3 vext1 <1,3,2,4>, LHS
-    2558280602U, // <3,2,4,1>: Cost 3 vext1 <1,3,2,4>, <1,2,3,4>
-    2732967692U, // <3,2,4,2>: Cost 3 vext3 LHS, <2,4,2,4>
-    2685634326U, // <3,2,4,3>: Cost 3 vext3 LHS, <2,4,3,5>
-    2558283062U, // <3,2,4,4>: Cost 3 vext1 <1,3,2,4>, RHS
+    2558280674U, // <3,2,4,1>: Cost 3 vext1 <1,3,2,4>, <1,3,2,4>
+    2960343060U, // <3,2,4,2>: Cost 3 vzipr <1,2,3,4>, <0,0,2,2>
+    1886601318U, // <3,2,4,3>: Cost 2 vzipr <1,2,3,4>, LHS
+    2960344034U, // <3,2,4,4>: Cost 3 vzipr <1,2,3,4>, <1,3,2,4>
     1549716790U, // <3,2,4,5>: Cost 2 vext2 <1,0,3,2>, RHS
     2689836844U, // <3,2,4,6>: Cost 3 vext3 LHS, <2,4,6,0>
     2229077736U, // <3,2,4,7>: Cost 3 vrev <2,3,7,4>
     1549717033U, // <3,2,4,u>: Cost 2 vext2 <1,0,3,2>, RHS
-    2552316006U, // <3,2,5,0>: Cost 3 vext1 <0,3,2,5>, LHS
+    2552316170U, // <3,2,5,0>: Cost 3 vext1 <0,3,2,5>, <0,3,2,5>
     2228643507U, // <3,2,5,1>: Cost 3 vrev <2,3,1,5>
     2689836896U, // <3,2,5,2>: Cost 3 vext3 LHS, <2,5,2,7>
     2685634408U, // <3,2,5,3>: Cost 3 vext3 LHS, <2,5,3,6>
     1155122894U, // <3,2,5,4>: Cost 2 vrev <2,3,4,5>
     2665263108U, // <3,2,5,5>: Cost 3 vext2 <u,0,3,2>, <5,5,5,5>
     2689836932U, // <3,2,5,6>: Cost 3 vext3 LHS, <2,5,6,7>
-    2665263272U, // <3,2,5,7>: Cost 3 vext2 <u,0,3,2>, <5,7,5,7>
+    2826554678U, // <3,2,5,7>: Cost 3 vuzpr <1,3,0,2>, RHS
     1155417842U, // <3,2,5,u>: Cost 2 vrev <2,3,u,5>
     2689836953U, // <3,2,6,0>: Cost 3 vext3 LHS, <2,6,0,1>
     2689836964U, // <3,2,6,1>: Cost 3 vext3 LHS, <2,6,1,3>
@@ -2433,17 +2431,17 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2689836993U, // <3,2,6,4>: Cost 3 vext3 LHS, <2,6,4,5>
     2689837004U, // <3,2,6,5>: Cost 3 vext3 LHS, <2,6,5,7>
     2689837013U, // <3,2,6,6>: Cost 3 vext3 LHS, <2,6,6,7>
-    2665263950U, // <3,2,6,7>: Cost 3 vext2 <u,0,3,2>, <6,7,0,1>
+    2856929210U, // <3,2,6,7>: Cost 3 vuzpr <6,3,7,2>, <2,6,3,7>
     1611892711U, // <3,2,6,u>: Cost 2 vext3 LHS, <2,6,u,7>
-    2665264122U, // <3,2,7,0>: Cost 3 vext2 <u,0,3,2>, <7,0,1,2>
+    3095397270U, // <3,2,7,0>: Cost 3 vtrnr <1,3,5,7>, <1,2,3,0>
     2623460419U, // <3,2,7,1>: Cost 3 vext2 <1,0,3,2>, <7,1,0,3>
-    4169138340U, // <3,2,7,2>: Cost 4 vtrnr <1,3,5,7>, <0,2,0,2>
-    2962358374U, // <3,2,7,3>: Cost 3 vzipr <1,5,3,7>, LHS
-    2665264486U, // <3,2,7,4>: Cost 3 vext2 <u,0,3,2>, <7,4,5,6>
-    2228954841U, // <3,2,7,5>: Cost 3 vrev <2,3,5,7>
-    2229028578U, // <3,2,7,6>: Cost 3 vrev <2,3,6,7>
+    3095396516U, // <3,2,7,2>: Cost 3 vtrnr <1,3,5,7>, <0,2,0,2>
+    1888616550U, // <3,2,7,3>: Cost 2 vzipr <1,5,3,7>, LHS
+    3095397274U, // <3,2,7,4>: Cost 3 vtrnr <1,3,5,7>, <1,2,3,4>
+    3095396528U, // <3,2,7,5>: Cost 3 vtrnr <1,3,5,7>, <0,2,1,5>
+    3095396556U, // <3,2,7,6>: Cost 3 vtrnr <1,3,5,7>, <0,2,4,6>
     2665264748U, // <3,2,7,7>: Cost 3 vext2 <u,0,3,2>, <7,7,7,7>
-    2962358379U, // <3,2,7,u>: Cost 3 vzipr <1,5,3,7>, LHS
+    1888616555U, // <3,2,7,u>: Cost 2 vzipr <1,5,3,7>, LHS
     1611892795U, // <3,2,u,0>: Cost 2 vext3 LHS, <2,u,0,1>
     1549719342U, // <3,2,u,1>: Cost 2 vext2 <1,0,3,2>, LHS
     1611449960U, // <3,2,u,2>: Cost 2 vext3 LHS, <2,2,2,2>
@@ -2451,113 +2449,113 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1611892835U, // <3,2,u,4>: Cost 2 vext3 LHS, <2,u,4,5>
     1549719706U, // <3,2,u,5>: Cost 2 vext2 <1,0,3,2>, RHS
     2689837168U, // <3,2,u,6>: Cost 3 vext3 LHS, <2,u,6,0>
-    2665265408U, // <3,2,u,7>: Cost 3 vext2 <u,0,3,2>, <u,7,0,1>
+    2826554921U, // <3,2,u,7>: Cost 3 vuzpr <1,3,0,2>, RHS
     1611892867U, // <3,2,u,u>: Cost 2 vext3 LHS, <2,u,u,1>
-    2685192331U, // <3,3,0,0>: Cost 3 vext3 LHS, <3,0,0,0>
+    1886569366U, // <3,3,0,0>: Cost 2 vzipr <1,2,3,0>, <1,2,3,0>
     1611450518U, // <3,3,0,1>: Cost 2 vext3 LHS, <3,0,1,2>
-    2685634717U, // <3,3,0,2>: Cost 3 vext3 LHS, <3,0,2,0>
-    2564294806U, // <3,3,0,3>: Cost 3 vext1 <2,3,3,0>, <3,0,1,2>
+    1697874022U, // <3,3,0,2>: Cost 2 vuzpl <3,3,3,3>, LHS
+    2960311112U, // <3,3,0,3>: Cost 3 vzipr <1,2,3,0>, <1,1,3,3>
     2685634736U, // <3,3,0,4>: Cost 3 vext3 LHS, <3,0,4,1>
-    2732968122U, // <3,3,0,5>: Cost 3 vext3 LHS, <3,0,5,2>
+    3041151490U, // <3,3,0,5>: Cost 3 vtrnl <3,5,0,2>, <3,4,5,6>
     3763579075U, // <3,3,0,6>: Cost 4 vext3 LHS, <3,0,6,2>
-    4034053264U, // <3,3,0,7>: Cost 4 vzipr <1,2,3,0>, <1,5,3,7>
+    2960311440U, // <3,3,0,7>: Cost 3 vzipr <1,2,3,0>, <1,5,3,7>
     1611450581U, // <3,3,0,u>: Cost 2 vext3 LHS, <3,0,u,2>
     2685192415U, // <3,3,1,0>: Cost 3 vext3 LHS, <3,1,0,3>
     1550385992U, // <3,3,1,1>: Cost 2 vext2 <1,1,3,3>, <1,1,3,3>
     2685192433U, // <3,3,1,2>: Cost 3 vext3 LHS, <3,1,2,3>
-    2685634808U, // <3,3,1,3>: Cost 3 vext3 LHS, <3,1,3,1>
-    2558332214U, // <3,3,1,4>: Cost 3 vext1 <1,3,3,1>, RHS
+    1752891494U, // <3,3,1,3>: Cost 2 vuzpr <1,3,1,3>, LHS
+    2826635515U, // <3,3,1,4>: Cost 3 vuzpr <1,3,1,3>, <3,1,3,4>
     2685634828U, // <3,3,1,5>: Cost 3 vext3 LHS, <3,1,5,3>
     3759376661U, // <3,3,1,6>: Cost 4 vext3 LHS, <3,1,6,3>
-    2703477022U, // <3,3,1,7>: Cost 3 vext3 <3,1,7,3>, <3,1,7,3>
-    1555031423U, // <3,3,1,u>: Cost 2 vext2 <1,u,3,3>, <1,u,3,3>
-    2564309094U, // <3,3,2,0>: Cost 3 vext1 <2,3,3,2>, LHS
-    2630100513U, // <3,3,2,1>: Cost 3 vext2 <2,1,3,3>, <2,1,3,3>
-    1557022322U, // <3,3,2,2>: Cost 2 vext2 <2,2,3,3>, <2,2,3,3>
+    3100951552U, // <3,3,1,7>: Cost 3 vtrnr <2,3,0,1>, <1,3,5,7>
+    1752891499U, // <3,3,1,u>: Cost 2 vuzpr <1,3,1,3>, LHS
+    2959000470U, // <3,3,2,0>: Cost 3 vzipr <1,0,3,2>, <1,2,3,0>
+    2959000471U, // <3,3,2,1>: Cost 3 vzipr <1,0,3,2>, <1,2,3,1>
+    1885258486U, // <3,3,2,2>: Cost 2 vzipr <1,0,3,2>, <1,0,3,2>
     2685192520U, // <3,3,2,3>: Cost 3 vext3 LHS, <3,2,3,0>
-    2564312374U, // <3,3,2,4>: Cost 3 vext1 <2,3,3,2>, RHS
+    2959000474U, // <3,3,2,4>: Cost 3 vzipr <1,0,3,2>, <1,2,3,4>
     2732968286U, // <3,3,2,5>: Cost 3 vext3 LHS, <3,2,5,4>
     2685634918U, // <3,3,2,6>: Cost 3 vext3 LHS, <3,2,6,3>
-    2704140655U, // <3,3,2,7>: Cost 3 vext3 <3,2,7,3>, <3,2,7,3>
+    2959000720U, // <3,3,2,7>: Cost 3 vzipr <1,0,3,2>, <1,5,3,7>
     1561004120U, // <3,3,2,u>: Cost 2 vext2 <2,u,3,3>, <2,u,3,3>
     1496547430U, // <3,3,3,0>: Cost 2 vext1 <3,3,3,3>, LHS
     2624129256U, // <3,3,3,1>: Cost 3 vext2 <1,1,3,3>, <3,1,1,3>
-    2630764866U, // <3,3,3,2>: Cost 3 vext2 <2,2,3,3>, <3,2,2,3>
+    2959672054U, // <3,3,3,2>: Cost 3 vzipr <1,1,3,3>, <1,0,3,2>
     336380006U,  // <3,3,3,3>: Cost 1 vdup3 LHS
     1496550710U, // <3,3,3,4>: Cost 2 vext1 <3,3,3,3>, RHS
-    2732968368U, // <3,3,3,5>: Cost 3 vext3 LHS, <3,3,5,5>
-    2624129683U, // <3,3,3,6>: Cost 3 vext2 <1,1,3,3>, <3,6,3,7>
-    2594182400U, // <3,3,3,7>: Cost 3 vext1 <7,3,3,3>, <7,3,3,3>
+    2826634958U, // <3,3,3,5>: Cost 3 vuzpr <1,3,1,3>, <2,3,4,5>
+    2838727080U, // <3,3,3,6>: Cost 3 vuzpr <3,3,3,3>, <3,3,4,6>
+    2959672464U, // <3,3,3,7>: Cost 3 vzipr <1,1,3,3>, <1,5,3,7>
     336380006U,  // <3,3,3,u>: Cost 1 vdup3 LHS
-    2558353510U, // <3,3,4,0>: Cost 3 vext1 <1,3,3,4>, LHS
+    2960343958U, // <3,3,4,0>: Cost 3 vzipr <1,2,3,4>, <1,2,3,0>
     2558354411U, // <3,3,4,1>: Cost 3 vext1 <1,3,3,4>, <1,3,3,4>
-    2564327108U, // <3,3,4,2>: Cost 3 vext1 <2,3,3,4>, <2,3,3,4>
-    2564327938U, // <3,3,4,3>: Cost 3 vext1 <2,3,3,4>, <3,4,5,6>
-    2960343962U, // <3,3,4,4>: Cost 3 vzipr <1,2,3,4>, <1,2,3,4>
+    2960343798U, // <3,3,4,2>: Cost 3 vzipr <1,2,3,4>, <1,0,3,2>
+    2960343880U, // <3,3,4,3>: Cost 3 vzipr <1,2,3,4>, <1,1,3,3>
+    1886602138U, // <3,3,4,4>: Cost 2 vzipr <1,2,3,4>, <1,2,3,4>
     1611893250U, // <3,3,4,5>: Cost 2 vext3 LHS, <3,4,5,6>
-    2771619126U, // <3,3,4,6>: Cost 3 vuzpl <3,3,3,3>, RHS
-    4034086032U, // <3,3,4,7>: Cost 4 vzipr <1,2,3,4>, <1,5,3,7>
+    1697877302U, // <3,3,4,6>: Cost 2 vuzpl <3,3,3,3>, RHS
+    2960344208U, // <3,3,4,7>: Cost 3 vzipr <1,2,3,4>, <1,5,3,7>
     1611893277U, // <3,3,4,u>: Cost 2 vext3 LHS, <3,4,u,6>
     2558361702U, // <3,3,5,0>: Cost 3 vext1 <1,3,3,5>, LHS
     2558362604U, // <3,3,5,1>: Cost 3 vext1 <1,3,3,5>, <1,3,3,5>
     2558363342U, // <3,3,5,2>: Cost 3 vext1 <1,3,3,5>, <2,3,4,5>
-    2732968512U, // <3,3,5,3>: Cost 3 vext3 LHS, <3,5,3,5>
+    3101279192U, // <3,3,5,3>: Cost 3 vtrnr <2,3,4,5>, <1,3,1,3>
     2558364982U, // <3,3,5,4>: Cost 3 vext1 <1,3,3,5>, RHS
-    3101279950U, // <3,3,5,5>: Cost 3 vtrnr <2,3,4,5>, <2,3,4,5>
+    2027538126U, // <3,3,5,5>: Cost 2 vtrnr <2,3,4,5>, <2,3,4,5>
     2665934946U, // <3,3,5,6>: Cost 3 vext2 <u,1,3,3>, <5,6,7,0>
-    2826636598U, // <3,3,5,7>: Cost 3 vuzpr <1,3,1,3>, RHS
-    2826636599U, // <3,3,5,u>: Cost 3 vuzpr <1,3,1,3>, RHS
+    1752894774U, // <3,3,5,7>: Cost 2 vuzpr <1,3,1,3>, RHS
+    1752894775U, // <3,3,5,u>: Cost 2 vuzpr <1,3,1,3>, RHS
     2732968568U, // <3,3,6,0>: Cost 3 vext3 LHS, <3,6,0,7>
-    3763579521U, // <3,3,6,1>: Cost 4 vext3 LHS, <3,6,1,7>
+    4029456574U, // <3,3,6,1>: Cost 4 vzipr <0,4,3,6>, <0,2,3,1>
     2732968586U, // <3,3,6,2>: Cost 3 vext3 LHS, <3,6,2,7>
-    2732968595U, // <3,3,6,3>: Cost 3 vext3 LHS, <3,6,3,7>
-    2732968604U, // <3,3,6,4>: Cost 3 vext3 LHS, <3,6,4,7>
+    3107260828U, // <3,3,6,3>: Cost 3 vtrnr <3,3,4,6>, <3,3,3,3>
+    2234845608U, // <3,3,6,4>: Cost 3 vrev <3,3,4,6>
     3763579557U, // <3,3,6,5>: Cost 4 vext3 LHS, <3,6,5,7>
-    2732968621U, // <3,3,6,6>: Cost 3 vext3 LHS, <3,6,6,6>
-    2657973099U, // <3,3,6,7>: Cost 3 vext2 <6,7,3,3>, <6,7,3,3>
-    2658636732U, // <3,3,6,u>: Cost 3 vext2 <6,u,3,3>, <6,u,3,3>
+    2960360348U, // <3,3,6,6>: Cost 3 vzipr <1,2,3,6>, <1,2,3,6>
+    2826635194U, // <3,3,6,7>: Cost 3 vuzpr <1,3,1,3>, <2,6,3,7>
+    2826635195U, // <3,3,6,u>: Cost 3 vuzpr <1,3,1,3>, <2,6,3,u>
     2558378086U, // <3,3,7,0>: Cost 3 vext1 <1,3,3,7>, LHS
     2558378990U, // <3,3,7,1>: Cost 3 vext1 <1,3,3,7>, <1,3,3,7>
-    2564351687U, // <3,3,7,2>: Cost 3 vext1 <2,3,3,7>, <2,3,3,7>
-    2661291264U, // <3,3,7,3>: Cost 3 vext2 <7,3,3,3>, <7,3,3,3>
+    2962359030U, // <3,3,7,2>: Cost 3 vzipr <1,5,3,7>, <1,0,3,2>
+    3095397336U, // <3,3,7,3>: Cost 3 vtrnr <1,3,5,7>, <1,3,1,3>
     2558381366U, // <3,3,7,4>: Cost 3 vext1 <1,3,3,7>, RHS
-    2732968694U, // <3,3,7,5>: Cost 3 vext3 LHS, <3,7,5,7>
-    3781126907U, // <3,3,7,6>: Cost 4 vext3 <3,7,6,3>, <3,7,6,3>
-    3095397376U, // <3,3,7,7>: Cost 3 vtrnr <1,3,5,7>, <1,3,5,7>
-    2558383918U, // <3,3,7,u>: Cost 3 vext1 <1,3,3,7>, LHS
-    1496547430U, // <3,3,u,0>: Cost 2 vext1 <3,3,3,3>, LHS
+    3095398094U, // <3,3,7,5>: Cost 3 vtrnr <1,3,5,7>, <2,3,4,5>
+    4169139172U, // <3,3,7,6>: Cost 4 vtrnr <1,3,5,7>, <1,3,2,6>
+    2021655552U, // <3,3,7,7>: Cost 2 vtrnr <1,3,5,7>, <1,3,5,7>
+    2021655552U, // <3,3,7,u>: Cost 2 vtrnr <1,3,5,7>, <1,3,5,7>
+    1886569366U, // <3,3,u,0>: Cost 2 vzipr <1,2,3,0>, <1,2,3,0>
     1611893534U, // <3,3,u,1>: Cost 2 vext3 LHS, <3,u,1,2>
-    1592858504U, // <3,3,u,2>: Cost 2 vext2 <u,2,3,3>, <u,2,3,3>
+    1697879854U, // <3,3,u,2>: Cost 2 vuzpl <3,3,3,3>, LHS
     336380006U,  // <3,3,u,3>: Cost 1 vdup3 LHS
     1496550710U, // <3,3,u,4>: Cost 2 vext1 <3,3,3,3>, RHS
     1611893574U, // <3,3,u,5>: Cost 2 vext3 LHS, <3,u,5,6>
-    2690280268U, // <3,3,u,6>: Cost 3 vext3 LHS, <3,u,6,3>
-    2826636841U, // <3,3,u,7>: Cost 3 vuzpr <1,3,1,3>, RHS
+    1697880218U, // <3,3,u,6>: Cost 2 vuzpl <3,3,3,3>, RHS
+    1752895017U, // <3,3,u,7>: Cost 2 vuzpr <1,3,1,3>, RHS
     336380006U,  // <3,3,u,u>: Cost 1 vdup3 LHS
     2624798720U, // <3,4,0,0>: Cost 3 vext2 <1,2,3,4>, <0,0,0,0>
     1551056998U, // <3,4,0,1>: Cost 2 vext2 <1,2,3,4>, LHS
     2624798884U, // <3,4,0,2>: Cost 3 vext2 <1,2,3,4>, <0,2,0,2>
-    3693232384U, // <3,4,0,3>: Cost 4 vext2 <0,3,3,4>, <0,3,1,4>
+    2903690372U, // <3,4,0,3>: Cost 3 vzipl <3,0,1,2>, <4,3,5,0>
     2624799058U, // <3,4,0,4>: Cost 3 vext2 <1,2,3,4>, <0,4,1,5>
-    1659227026U, // <3,4,0,5>: Cost 2 vext3 LHS, <4,0,5,1>
+    1829948726U, // <3,4,0,5>: Cost 2 vzipl <3,0,1,2>, RHS
     1659227036U, // <3,4,0,6>: Cost 2 vext3 LHS, <4,0,6,2>
-    3667973382U, // <3,4,0,7>: Cost 4 vext1 <7,3,4,0>, <7,3,4,0>
+    4038035314U, // <3,4,0,7>: Cost 4 vzipr <1,u,3,0>, <2,5,4,7>
     1551057565U, // <3,4,0,u>: Cost 2 vext2 <1,2,3,4>, LHS
     2624799478U, // <3,4,1,0>: Cost 3 vext2 <1,2,3,4>, <1,0,3,2>
     2624799540U, // <3,4,1,1>: Cost 3 vext2 <1,2,3,4>, <1,1,1,1>
     1551057818U, // <3,4,1,2>: Cost 2 vext2 <1,2,3,4>, <1,2,3,4>
-    2624799704U, // <3,4,1,3>: Cost 3 vext2 <1,2,3,4>, <1,3,1,3>
+    2820669542U, // <3,4,1,3>: Cost 3 vuzpr <0,3,1,4>, LHS
     2564377910U, // <3,4,1,4>: Cost 3 vext1 <2,3,4,1>, RHS
     2689838050U, // <3,4,1,5>: Cost 3 vext3 LHS, <4,1,5,0>
-    2689838062U, // <3,4,1,6>: Cost 3 vext3 LHS, <4,1,6,3>
+    1964166454U, // <3,4,1,6>: Cost 2 vtrnl <3,0,1,2>, RHS
     2628117807U, // <3,4,1,7>: Cost 3 vext2 <1,7,3,4>, <1,7,3,4>
     1555039616U, // <3,4,1,u>: Cost 2 vext2 <1,u,3,4>, <1,u,3,4>
-    3626180710U, // <3,4,2,0>: Cost 4 vext1 <0,3,4,2>, LHS
+    3894412182U, // <3,4,2,0>: Cost 4 vuzpr <0,3,1,4>, <1,2,3,0>
     2624800298U, // <3,4,2,1>: Cost 3 vext2 <1,2,3,4>, <2,1,4,3>
     2624800360U, // <3,4,2,2>: Cost 3 vext2 <1,2,3,4>, <2,2,2,2>
     2624800422U, // <3,4,2,3>: Cost 3 vext2 <1,2,3,4>, <2,3,0,1>
-    2624800514U, // <3,4,2,4>: Cost 3 vext2 <1,2,3,4>, <2,4,1,3>
-    2709965878U, // <3,4,2,5>: Cost 3 vext3 <4,2,5,3>, <4,2,5,3>
+    2826716058U, // <3,4,2,4>: Cost 3 vuzpr <1,3,2,4>, <1,2,3,4>
+    2959001294U, // <3,4,2,5>: Cost 3 vzipr <1,0,3,2>, <2,3,4,5>
     2689838140U, // <3,4,2,6>: Cost 3 vext3 LHS, <4,2,6,0>
     2634090504U, // <3,4,2,7>: Cost 3 vext2 <2,7,3,4>, <2,7,3,4>
     2689838158U, // <3,4,2,u>: Cost 3 vext3 LHS, <4,2,u,0>
@@ -2565,19 +2563,19 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2636081403U, // <3,4,3,1>: Cost 3 vext2 <3,1,3,4>, <3,1,3,4>
     2636745036U, // <3,4,3,2>: Cost 3 vext2 <3,2,3,4>, <3,2,3,4>
     2624801180U, // <3,4,3,3>: Cost 3 vext2 <1,2,3,4>, <3,3,3,3>
-    2624801232U, // <3,4,3,4>: Cost 3 vext2 <1,2,3,4>, <3,4,0,1>
-    2905836854U, // <3,4,3,5>: Cost 3 vzipl <3,3,3,3>, RHS
-    3040054582U, // <3,4,3,6>: Cost 3 vtrnl <3,3,3,3>, RHS
-    3702524611U, // <3,4,3,7>: Cost 4 vext2 <1,u,3,4>, <3,7,0,1>
-    2624801566U, // <3,4,3,u>: Cost 3 vext2 <1,2,3,4>, <3,u,1,2>
-    2564399206U, // <3,4,4,0>: Cost 3 vext1 <2,3,4,4>, LHS
-    2564400026U, // <3,4,4,1>: Cost 3 vext1 <2,3,4,4>, <1,2,3,4>
+    2820669696U, // <3,4,3,4>: Cost 3 vuzpr <0,3,1,4>, <0,3,1,4>
+    1832095030U, // <3,4,3,5>: Cost 2 vzipl <3,3,3,3>, RHS
+    1966312758U, // <3,4,3,6>: Cost 2 vtrnl <3,3,3,3>, RHS
+    3894412288U, // <3,4,3,7>: Cost 4 vuzpr <0,3,1,4>, <1,3,5,7>
+    1832095273U, // <3,4,3,u>: Cost 2 vzipl <3,3,3,3>, RHS
+    2960344777U, // <3,4,4,0>: Cost 3 vzipr <1,2,3,4>, <2,3,4,0>
+    2960344778U, // <3,4,4,1>: Cost 3 vzipr <1,2,3,4>, <2,3,4,1>
     2564400845U, // <3,4,4,2>: Cost 3 vext1 <2,3,4,4>, <2,3,4,4>
-    2570373542U, // <3,4,4,3>: Cost 3 vext1 <3,3,4,4>, <3,3,4,4>
+    2960344618U, // <3,4,4,3>: Cost 3 vzipr <1,2,3,4>, <2,1,4,3>
     1659227344U, // <3,4,4,4>: Cost 2 vext3 LHS, <4,4,4,4>
     1551060278U, // <3,4,4,5>: Cost 2 vext2 <1,2,3,4>, RHS
     1659227364U, // <3,4,4,6>: Cost 2 vext3 LHS, <4,4,6,6>
-    3668006154U, // <3,4,4,7>: Cost 4 vext1 <7,3,4,4>, <7,3,4,4>
+    2960344946U, // <3,4,4,7>: Cost 3 vzipr <1,2,3,4>, <2,5,4,7>
     1551060521U, // <3,4,4,u>: Cost 2 vext2 <1,2,3,4>, RHS
     1490665574U, // <3,4,5,0>: Cost 2 vext1 <2,3,4,5>, LHS
     2689838341U, // <3,4,5,1>: Cost 3 vext3 LHS, <4,5,1,3>
@@ -2586,96 +2584,96 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1490668854U, // <3,4,5,4>: Cost 2 vext1 <2,3,4,5>, RHS
     2689838381U, // <3,4,5,5>: Cost 3 vext3 LHS, <4,5,5,7>
     537709878U,  // <3,4,5,6>: Cost 1 vext3 LHS, RHS
-    2594272523U, // <3,4,5,7>: Cost 3 vext1 <7,3,4,5>, <7,3,4,5>
+    2820672822U, // <3,4,5,7>: Cost 3 vuzpr <0,3,1,4>, RHS
     537709896U,  // <3,4,5,u>: Cost 1 vext3 LHS, RHS
-    2689838411U, // <3,4,6,0>: Cost 3 vext3 LHS, <4,6,0,1>
-    2558444534U, // <3,4,6,1>: Cost 3 vext1 <1,3,4,6>, <1,3,4,6>
-    2666607098U, // <3,4,6,2>: Cost 3 vext2 <u,2,3,4>, <6,2,7,3>
+    1659227468U, // <3,4,6,0>: Cost 2 vext3 LHS, <4,6,0,2>
+    2689838422U, // <3,4,6,1>: Cost 3 vext3 LHS, <4,6,1,3>
+    2564417231U, // <3,4,6,2>: Cost 3 vext1 <2,3,4,6>, <2,3,4,6>
     2558446082U, // <3,4,6,3>: Cost 3 vext1 <1,3,4,6>, <3,4,5,6>
     1659227508U, // <3,4,6,4>: Cost 2 vext3 LHS, <4,6,4,6>
     2689838462U, // <3,4,6,5>: Cost 3 vext3 LHS, <4,6,5,7>
     2689838471U, // <3,4,6,6>: Cost 3 vext3 LHS, <4,6,6,7>
-    2657981292U, // <3,4,6,7>: Cost 3 vext2 <6,7,3,4>, <6,7,3,4>
+    2856945594U, // <3,4,6,7>: Cost 3 vuzpr <6,3,7,4>, <2,6,3,7>
     1659227540U, // <3,4,6,u>: Cost 2 vext3 LHS, <4,6,u,2>
     2666607610U, // <3,4,7,0>: Cost 3 vext2 <u,2,3,4>, <7,0,1,2>
-    3702527072U, // <3,4,7,1>: Cost 4 vext2 <1,u,3,4>, <7,1,3,5>
+    2659972191U, // <3,4,7,1>: Cost 3 vext2 <7,1,3,4>, <7,1,3,4>
     2660635824U, // <3,4,7,2>: Cost 3 vext2 <7,2,3,4>, <7,2,3,4>
-    3644139945U, // <3,4,7,3>: Cost 4 vext1 <3,3,4,7>, <3,3,4,7>
+    4169139970U, // <3,4,7,3>: Cost 4 vtrnr <1,3,5,7>, <2,4,1,3>
     2666607974U, // <3,4,7,4>: Cost 3 vext2 <u,2,3,4>, <7,4,5,6>
-    2732969416U, // <3,4,7,5>: Cost 3 vext3 LHS, <4,7,5,0>
-    2732969425U, // <3,4,7,6>: Cost 3 vext3 LHS, <4,7,6,0>
+    3095396690U, // <3,4,7,5>: Cost 3 vtrnr <1,3,5,7>, <0,4,1,5>
+    3095396700U, // <3,4,7,6>: Cost 3 vtrnr <1,3,5,7>, <0,4,2,6>
     2666608236U, // <3,4,7,7>: Cost 3 vext2 <u,2,3,4>, <7,7,7,7>
-    2664617622U, // <3,4,7,u>: Cost 3 vext2 <7,u,3,4>, <7,u,3,4>
+    3095396693U, // <3,4,7,u>: Cost 3 vtrnr <1,3,5,7>, <0,4,1,u>
     1490690150U, // <3,4,u,0>: Cost 2 vext1 <2,3,4,u>, LHS
     1551062830U, // <3,4,u,1>: Cost 2 vext2 <1,2,3,4>, LHS
     1490691793U, // <3,4,u,2>: Cost 2 vext1 <2,3,4,u>, <2,3,4,u>
-    2624804796U, // <3,4,u,3>: Cost 3 vext2 <1,2,3,4>, <u,3,0,1>
+    2820670109U, // <3,4,u,3>: Cost 3 vuzpr <0,3,1,4>, LHS
     1490693430U, // <3,4,u,4>: Cost 2 vext1 <2,3,4,u>, RHS
     1551063194U, // <3,4,u,5>: Cost 2 vext2 <1,2,3,4>, RHS
     537710121U,  // <3,4,u,6>: Cost 1 vext3 LHS, RHS
-    2594297102U, // <3,4,u,7>: Cost 3 vext1 <7,3,4,u>, <7,3,4,u>
+    2820673065U, // <3,4,u,7>: Cost 3 vuzpr <0,3,1,4>, RHS
     537710139U,  // <3,4,u,u>: Cost 1 vext3 LHS, RHS
-    3692576768U, // <3,5,0,0>: Cost 4 vext2 <0,2,3,5>, <0,0,0,0>
+    2832842752U, // <3,5,0,0>: Cost 3 vuzpr <2,3,4,5>, <0,0,0,0>
     2618835046U, // <3,5,0,1>: Cost 3 vext2 <0,2,3,5>, LHS
-    2618835138U, // <3,5,0,2>: Cost 3 vext2 <0,2,3,5>, <0,2,3,5>
-    3692577024U, // <3,5,0,3>: Cost 4 vext2 <0,2,3,5>, <0,3,1,4>
+    1698709606U, // <3,5,0,2>: Cost 2 vuzpl <3,4,5,6>, LHS
+    2772451522U, // <3,5,0,3>: Cost 3 vuzpl <3,4,5,6>, <0,2,3,5>
     2689838690U, // <3,5,0,4>: Cost 3 vext3 LHS, <5,0,4,1>
     2732969579U, // <3,5,0,5>: Cost 3 vext3 LHS, <5,0,5,1>
-    2732969588U, // <3,5,0,6>: Cost 3 vext3 LHS, <5,0,6,1>
-    2246963055U, // <3,5,0,7>: Cost 3 vrev <5,3,7,0>
-    2618835613U, // <3,5,0,u>: Cost 3 vext2 <0,2,3,5>, LHS
+    2960310647U, // <3,5,0,6>: Cost 3 vzipr <1,2,3,0>, <0,4,5,6>
+    3089075510U, // <3,5,0,7>: Cost 3 vtrnr <0,3,1,0>, RHS
+    1698709660U, // <3,5,0,u>: Cost 2 vuzpl <3,4,5,6>, LHS
     2594308198U, // <3,5,1,0>: Cost 3 vext1 <7,3,5,1>, LHS
-    3692577588U, // <3,5,1,1>: Cost 4 vext2 <0,2,3,5>, <1,1,1,1>
+    2832843572U, // <3,5,1,1>: Cost 3 vuzpr <2,3,4,5>, <1,1,1,1>
     2624807835U, // <3,5,1,2>: Cost 3 vext2 <1,2,3,5>, <1,2,3,5>
-    2625471468U, // <3,5,1,3>: Cost 3 vext2 <1,3,3,5>, <1,3,3,5>
+    1759101030U, // <3,5,1,3>: Cost 2 vuzpr <2,3,4,5>, LHS
     2626135101U, // <3,5,1,4>: Cost 3 vext2 <1,4,3,5>, <1,4,3,5>
-    2594311888U, // <3,5,1,5>: Cost 3 vext1 <7,3,5,1>, <5,1,7,3>
-    3699877107U, // <3,5,1,6>: Cost 4 vext2 <1,4,3,5>, <1,6,5,7>
-    1641680592U, // <3,5,1,7>: Cost 2 vext3 <5,1,7,3>, <5,1,7,3>
-    1641754329U, // <3,5,1,u>: Cost 2 vext3 <5,1,u,3>, <5,1,u,3>
-    3692578274U, // <3,5,2,0>: Cost 4 vext2 <0,2,3,5>, <2,0,5,3>
+    2772452352U, // <3,5,1,5>: Cost 3 vuzpl <3,4,5,6>, <1,3,5,7>
+    4028090882U, // <3,5,1,6>: Cost 4 vzipr <0,2,3,1>, <3,4,5,6>
+    2027212086U, // <3,5,1,7>: Cost 2 vtrnr <2,3,0,1>, RHS
+    2027212087U, // <3,5,1,u>: Cost 2 vtrnr <2,3,0,1>, RHS
+    2832843670U, // <3,5,2,0>: Cost 3 vuzpr <2,3,4,5>, <1,2,3,0>
     2630116899U, // <3,5,2,1>: Cost 3 vext2 <2,1,3,5>, <2,1,3,5>
-    3692578408U, // <3,5,2,2>: Cost 4 vext2 <0,2,3,5>, <2,2,2,2>
+    2832842916U, // <3,5,2,2>: Cost 3 vuzpr <2,3,4,5>, <0,2,0,2>
     2625472206U, // <3,5,2,3>: Cost 3 vext2 <1,3,3,5>, <2,3,4,5>
-    2632107798U, // <3,5,2,4>: Cost 3 vext2 <2,4,3,5>, <2,4,3,5>
+    2832842936U, // <3,5,2,4>: Cost 3 vuzpr <2,3,4,5>, <0,2,2,4>
     2715938575U, // <3,5,2,5>: Cost 3 vext3 <5,2,5,3>, <5,2,5,3>
-    3692578746U, // <3,5,2,6>: Cost 4 vext2 <0,2,3,5>, <2,6,3,7>
-    2716086049U, // <3,5,2,7>: Cost 3 vext3 <5,2,7,3>, <5,2,7,3>
-    2634762330U, // <3,5,2,u>: Cost 3 vext2 <2,u,3,5>, <2,u,3,5>
-    3692578966U, // <3,5,3,0>: Cost 4 vext2 <0,2,3,5>, <3,0,1,2>
-    2636089596U, // <3,5,3,1>: Cost 3 vext2 <3,1,3,5>, <3,1,3,5>
+    2959002114U, // <3,5,2,6>: Cost 3 vzipr <1,0,3,2>, <3,4,5,6>
+    2958999766U, // <3,5,2,7>: Cost 3 vzipr <1,0,3,2>, <0,2,5,7>
+    2958999767U, // <3,5,2,u>: Cost 3 vzipr <1,0,3,2>, <0,2,5,u>
+    2772453922U, // <3,5,3,0>: Cost 3 vuzpl <3,4,5,6>, <3,5,0,2>
+    2832844454U, // <3,5,3,1>: Cost 3 vuzpr <2,3,4,5>, <2,3,0,1>
     3699214668U, // <3,5,3,2>: Cost 4 vext2 <1,3,3,5>, <3,2,3,4>
-    2638080412U, // <3,5,3,3>: Cost 3 vext2 <3,4,3,5>, <3,3,3,3>
+    2832843736U, // <3,5,3,3>: Cost 3 vuzpr <2,3,4,5>, <1,3,1,3>
     2618837506U, // <3,5,3,4>: Cost 3 vext2 <0,2,3,5>, <3,4,5,6>
-    2832844494U, // <3,5,3,5>: Cost 3 vuzpr <2,3,4,5>, <2,3,4,5>
-    4033415682U, // <3,5,3,6>: Cost 4 vzipr <1,1,3,3>, <3,4,5,6>
-    3095072054U, // <3,5,3,7>: Cost 3 vtrnr <1,3,1,3>, RHS
-    3095072055U, // <3,5,3,u>: Cost 3 vtrnr <1,3,1,3>, RHS
-    2600304742U, // <3,5,4,0>: Cost 3 vext1 <u,3,5,4>, LHS
-    3763580815U, // <3,5,4,1>: Cost 4 vext3 LHS, <5,4,1,5>
-    2564474582U, // <3,5,4,2>: Cost 3 vext1 <2,3,5,4>, <2,3,5,4>
-    3699879044U, // <3,5,4,3>: Cost 4 vext2 <1,4,3,5>, <4,3,5,0>
-    2600308022U, // <3,5,4,4>: Cost 3 vext1 <u,3,5,4>, RHS
+    1759102670U, // <3,5,3,5>: Cost 2 vuzpr <2,3,4,5>, <2,3,4,5>
+    2959673858U, // <3,5,3,6>: Cost 3 vzipr <1,1,3,3>, <3,4,5,6>
+    2021330230U, // <3,5,3,7>: Cost 2 vtrnr <1,3,1,3>, RHS
+    2021330231U, // <3,5,3,u>: Cost 2 vtrnr <1,3,1,3>, RHS
+    2832845308U, // <3,5,4,0>: Cost 3 vuzpr <2,3,4,5>, <3,4,5,0>
+    2732969871U, // <3,5,4,1>: Cost 3 vext3 LHS, <5,4,1,5>
+    2832844536U, // <3,5,4,2>: Cost 3 vuzpr <2,3,4,5>, <2,4,0,2>
+    2772454762U, // <3,5,4,3>: Cost 3 vuzpl <3,4,5,6>, <4,6,3,5>
+    2832845312U, // <3,5,4,4>: Cost 3 vuzpr <2,3,4,5>, <3,4,5,4>
     2618838326U, // <3,5,4,5>: Cost 3 vext2 <0,2,3,5>, RHS
-    2772454710U, // <3,5,4,6>: Cost 3 vuzpl <3,4,5,6>, RHS
+    1698712886U, // <3,5,4,6>: Cost 2 vuzpl <3,4,5,6>, RHS
     1659228102U, // <3,5,4,7>: Cost 2 vext3 LHS, <5,4,7,6>
-    1659228111U, // <3,5,4,u>: Cost 2 vext3 LHS, <5,4,u,6>
+    1698712904U, // <3,5,4,u>: Cost 2 vuzpl <3,4,5,6>, RHS
     2570453094U, // <3,5,5,0>: Cost 3 vext1 <3,3,5,5>, LHS
-    2624810704U, // <3,5,5,1>: Cost 3 vext2 <1,2,3,5>, <5,1,7,3>
+    2832846074U, // <3,5,5,1>: Cost 3 vuzpr <2,3,4,5>, <4,5,0,1>
     2570454734U, // <3,5,5,2>: Cost 3 vext1 <3,3,5,5>, <2,3,4,5>
-    2570455472U, // <3,5,5,3>: Cost 3 vext1 <3,3,5,5>, <3,3,5,5>
+    2832845356U, // <3,5,5,3>: Cost 3 vuzpr <2,3,4,5>, <3,5,1,3>
     2570456374U, // <3,5,5,4>: Cost 3 vext1 <3,3,5,5>, RHS
     1659228164U, // <3,5,5,5>: Cost 2 vext3 LHS, <5,5,5,5>
-    2732969998U, // <3,5,5,6>: Cost 3 vext3 LHS, <5,5,6,6>
-    1659228184U, // <3,5,5,7>: Cost 2 vext3 LHS, <5,5,7,7>
-    1659228193U, // <3,5,5,u>: Cost 2 vext3 LHS, <5,5,u,7>
+    2954381826U, // <3,5,5,6>: Cost 3 vzipr <0,2,3,5>, <3,4,5,6>
+    1759104310U, // <3,5,5,7>: Cost 2 vuzpr <2,3,4,5>, RHS
+    1759104311U, // <3,5,5,u>: Cost 2 vuzpr <2,3,4,5>, RHS
     2732970020U, // <3,5,6,0>: Cost 3 vext3 LHS, <5,6,0,1>
     2732970035U, // <3,5,6,1>: Cost 3 vext3 LHS, <5,6,1,7>
-    2564490968U, // <3,5,6,2>: Cost 3 vext1 <2,3,5,6>, <2,3,5,6>
+    2868677964U, // <3,5,6,2>: Cost 3 vuzpr <u,3,4,5>, <4,6,0,2>
     2732970050U, // <3,5,6,3>: Cost 3 vext3 LHS, <5,6,3,4>
-    2732970060U, // <3,5,6,4>: Cost 3 vext3 LHS, <5,6,4,5>
+    2772455986U, // <3,5,6,4>: Cost 3 vuzpl <3,4,5,6>, <6,3,4,5>
     2732970071U, // <3,5,6,5>: Cost 3 vext3 LHS, <5,6,5,7>
-    2732970080U, // <3,5,6,6>: Cost 3 vext3 LHS, <5,6,6,7>
+    2968324610U, // <3,5,6,6>: Cost 3 vzipr <2,5,3,6>, <3,4,5,6>
     1659228258U, // <3,5,6,7>: Cost 2 vext3 LHS, <5,6,7,0>
     1659228267U, // <3,5,6,u>: Cost 2 vext3 LHS, <5,6,u,0>
     1484783718U, // <3,5,7,0>: Cost 2 vext1 <1,3,5,7>, LHS
@@ -2684,76 +2682,76 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2558527638U, // <3,5,7,3>: Cost 3 vext1 <1,3,5,7>, <3,0,1,2>
     1484786998U, // <3,5,7,4>: Cost 2 vext1 <1,3,5,7>, RHS
     1659228328U, // <3,5,7,5>: Cost 2 vext3 LHS, <5,7,5,7>
-    2732970154U, // <3,5,7,6>: Cost 3 vext3 LHS, <5,7,6,0>
-    2558531180U, // <3,5,7,7>: Cost 3 vext1 <1,3,5,7>, <7,7,7,7>
+    3095397528U, // <3,5,7,6>: Cost 3 vtrnr <1,3,5,7>, <1,5,4,6>
+    2021657910U, // <3,5,7,7>: Cost 2 vtrnr <1,3,5,7>, RHS
     1484789550U, // <3,5,7,u>: Cost 2 vext1 <1,3,5,7>, LHS
     1484791910U, // <3,5,u,0>: Cost 2 vext1 <1,3,5,u>, LHS
     1484792833U, // <3,5,u,1>: Cost 2 vext1 <1,3,5,u>, <1,3,5,u>
-    2558535272U, // <3,5,u,2>: Cost 3 vext1 <1,3,5,u>, <2,2,2,2>
-    2558535830U, // <3,5,u,3>: Cost 3 vext1 <1,3,5,u>, <3,0,1,2>
+    1698715438U, // <3,5,u,2>: Cost 2 vuzpl <3,4,5,6>, LHS
+    1759101597U, // <3,5,u,3>: Cost 2 vuzpr <2,3,4,5>, LHS
     1484795190U, // <3,5,u,4>: Cost 2 vext1 <1,3,5,u>, RHS
     1659228409U, // <3,5,u,5>: Cost 2 vext3 LHS, <5,u,5,7>
-    2772457626U, // <3,5,u,6>: Cost 3 vuzpl <3,4,5,6>, RHS
-    1646326023U, // <3,5,u,7>: Cost 2 vext3 <5,u,7,3>, <5,u,7,3>
-    1484797742U, // <3,5,u,u>: Cost 2 vext1 <1,3,5,u>, LHS
-    2558541926U, // <3,6,0,0>: Cost 3 vext1 <1,3,6,0>, LHS
+    1698715802U, // <3,5,u,6>: Cost 2 vuzpl <3,4,5,6>, RHS
+    2021371190U, // <3,5,u,7>: Cost 2 vtrnr <1,3,1,u>, RHS
+    2021371191U, // <3,5,u,u>: Cost 2 vtrnr <1,3,1,u>, RHS
+    2732970264U, // <3,6,0,0>: Cost 3 vext3 LHS, <6,0,0,2>
     2689839393U, // <3,6,0,1>: Cost 3 vext3 LHS, <6,0,1,2>
     2689839404U, // <3,6,0,2>: Cost 3 vext3 LHS, <6,0,2,4>
-    3706519808U, // <3,6,0,3>: Cost 4 vext2 <2,5,3,6>, <0,3,1,4>
+    4034053692U, // <3,6,0,3>: Cost 4 vzipr <1,2,3,0>, <2,1,6,3>
     2689839420U, // <3,6,0,4>: Cost 3 vext3 LHS, <6,0,4,2>
     2732970314U, // <3,6,0,5>: Cost 3 vext3 LHS, <6,0,5,7>
     2732970316U, // <3,6,0,6>: Cost 3 vext3 LHS, <6,0,6,0>
-    2960313654U, // <3,6,0,7>: Cost 3 vzipr <1,2,3,0>, RHS
-    2689839456U, // <3,6,0,u>: Cost 3 vext3 LHS, <6,0,u,2>
-    3763581290U, // <3,6,1,0>: Cost 4 vext3 LHS, <6,1,0,3>
+    1886571830U, // <3,6,0,7>: Cost 2 vzipr <1,2,3,0>, RHS
+    1886571831U, // <3,6,0,u>: Cost 2 vzipr <1,2,3,0>, RHS
+    2720878954U, // <3,6,1,0>: Cost 3 vext3 <6,1,0,3>, <6,1,0,3>
     3763581297U, // <3,6,1,1>: Cost 4 vext3 LHS, <6,1,1,1>
     2624816028U, // <3,6,1,2>: Cost 3 vext2 <1,2,3,6>, <1,2,3,6>
-    3763581315U, // <3,6,1,3>: Cost 4 vext3 LHS, <6,1,3,1>
+    2826731622U, // <3,6,1,3>: Cost 3 vuzpr <1,3,2,6>, LHS
     2626143294U, // <3,6,1,4>: Cost 3 vext2 <1,4,3,6>, <1,4,3,6>
     3763581335U, // <3,6,1,5>: Cost 4 vext3 LHS, <6,1,5,3>
     2721321376U, // <3,6,1,6>: Cost 3 vext3 <6,1,6,3>, <6,1,6,3>
-    2721395113U, // <3,6,1,7>: Cost 3 vext3 <6,1,7,3>, <6,1,7,3>
-    2628797826U, // <3,6,1,u>: Cost 3 vext2 <1,u,3,6>, <1,u,3,6>
+    2954349878U, // <3,6,1,7>: Cost 3 vzipr <0,2,3,1>, RHS
+    2954349879U, // <3,6,1,u>: Cost 3 vzipr <0,2,3,1>, RHS
     2594390118U, // <3,6,2,0>: Cost 3 vext1 <7,3,6,2>, LHS
     2721616324U, // <3,6,2,1>: Cost 3 vext3 <6,2,1,3>, <6,2,1,3>
     2630788725U, // <3,6,2,2>: Cost 3 vext2 <2,2,3,6>, <2,2,3,6>
-    3763581395U, // <3,6,2,3>: Cost 4 vext3 LHS, <6,2,3,0>
+    2832852594U, // <3,6,2,3>: Cost 3 vuzpr <2,3,4,6>, <2,2,3,3>
     2632115991U, // <3,6,2,4>: Cost 3 vext2 <2,4,3,6>, <2,4,3,6>
     2632779624U, // <3,6,2,5>: Cost 3 vext2 <2,5,3,6>, <2,5,3,6>
-    2594394618U, // <3,6,2,6>: Cost 3 vext1 <7,3,6,2>, <6,2,7,3>
-    1648316922U, // <3,6,2,7>: Cost 2 vext3 <6,2,7,3>, <6,2,7,3>
-    1648390659U, // <3,6,2,u>: Cost 2 vext3 <6,2,u,3>, <6,2,u,3>
-    3693914262U, // <3,6,3,0>: Cost 4 vext2 <0,4,3,6>, <3,0,1,2>
-    3638281176U, // <3,6,3,1>: Cost 4 vext1 <2,3,6,3>, <1,3,1,3>
-    3696568678U, // <3,6,3,2>: Cost 4 vext2 <0,u,3,6>, <3,2,6,3>
-    2638088604U, // <3,6,3,3>: Cost 3 vext2 <3,4,3,6>, <3,3,3,3>
+    2826731724U, // <3,6,2,6>: Cost 3 vuzpr <1,3,2,6>, <0,2,4,6>
+    1885261110U, // <3,6,2,7>: Cost 2 vzipr <1,0,3,2>, RHS
+    1885261111U, // <3,6,2,u>: Cost 2 vzipr <1,0,3,2>, RHS
+    3136876642U, // <3,6,3,0>: Cost 3 vtrnr <u,3,1,3>, <5,6,7,0>
+    4168812441U, // <3,6,3,1>: Cost 4 vtrnr <1,3,1,3>, <2,6,0,1>
+    3001478044U, // <3,6,3,2>: Cost 3 vzipr <u,1,3,3>, <4,0,6,2>
+    2838825372U, // <3,6,3,3>: Cost 3 vuzpr <3,3,4,6>, <3,3,3,3>
     2632780290U, // <3,6,3,4>: Cost 3 vext2 <2,5,3,6>, <3,4,5,6>
-    3712494145U, // <3,6,3,5>: Cost 4 vext2 <3,5,3,6>, <3,5,3,6>
-    3698559612U, // <3,6,3,6>: Cost 4 vext2 <1,2,3,6>, <3,6,1,2>
-    2959674678U, // <3,6,3,7>: Cost 3 vzipr <1,1,3,3>, RHS
-    2959674679U, // <3,6,3,u>: Cost 3 vzipr <1,1,3,3>, RHS
-    3763581536U, // <3,6,4,0>: Cost 4 vext3 LHS, <6,4,0,6>
+    4168812481U, // <3,6,3,5>: Cost 4 vtrnr <1,3,1,3>, <2,6,4,5>
+    2826732516U, // <3,6,3,6>: Cost 3 vuzpr <1,3,2,6>, <1,3,2,6>
+    1885932854U, // <3,6,3,7>: Cost 2 vzipr <1,1,3,3>, RHS
+    1885932855U, // <3,6,3,u>: Cost 2 vzipr <1,1,3,3>, RHS
+    2732970588U, // <3,6,4,0>: Cost 3 vext3 LHS, <6,4,0,2>
     2722943590U, // <3,6,4,1>: Cost 3 vext3 <6,4,1,3>, <6,4,1,3>
-    2732970609U, // <3,6,4,2>: Cost 3 vext3 LHS, <6,4,2,5>
-    3698560147U, // <3,6,4,3>: Cost 4 vext2 <1,2,3,6>, <4,3,6,6>
+    2732970604U, // <3,6,4,2>: Cost 3 vext3 LHS, <6,4,2,0>
+    2906673714U, // <3,6,4,3>: Cost 3 vzipl <3,4,5,6>, <6,3,4,5>
     2732970628U, // <3,6,4,4>: Cost 3 vext3 LHS, <6,4,4,6>
     2689839757U, // <3,6,4,5>: Cost 3 vext3 LHS, <6,4,5,6>
-    2732970640U, // <3,6,4,6>: Cost 3 vext3 LHS, <6,4,6,0>
-    2960346422U, // <3,6,4,7>: Cost 3 vzipr <1,2,3,4>, RHS
-    2689839784U, // <3,6,4,u>: Cost 3 vext3 LHS, <6,4,u,6>
+    2826881538U, // <3,6,4,6>: Cost 3 vuzpr <1,3,4,6>, <3,4,5,6>
+    1886604598U, // <3,6,4,7>: Cost 2 vzipr <1,2,3,4>, RHS
+    1886604599U, // <3,6,4,u>: Cost 2 vzipr <1,2,3,4>, RHS
     2576498790U, // <3,6,5,0>: Cost 3 vext1 <4,3,6,5>, LHS
-    3650241270U, // <3,6,5,1>: Cost 4 vext1 <4,3,6,5>, <1,0,3,2>
+    4175021977U, // <3,6,5,1>: Cost 4 vtrnr <2,3,4,5>, <2,6,0,1>
     2732970692U, // <3,6,5,2>: Cost 3 vext3 LHS, <6,5,2,7>
     2576501250U, // <3,6,5,3>: Cost 3 vext1 <4,3,6,5>, <3,4,5,6>
-    2576501906U, // <3,6,5,4>: Cost 3 vext1 <4,3,6,5>, <4,3,6,5>
-    3650244622U, // <3,6,5,5>: Cost 4 vext1 <4,3,6,5>, <5,5,6,6>
-    4114633528U, // <3,6,5,6>: Cost 4 vtrnl <3,4,5,6>, <6,6,6,6>
-    2732970735U, // <3,6,5,7>: Cost 3 vext3 LHS, <6,5,7,5>
-    2576504622U, // <3,6,5,u>: Cost 3 vext1 <4,3,6,5>, LHS
-    2732970749U, // <3,6,6,0>: Cost 3 vext3 LHS, <6,6,0,1>
+    3040891442U, // <3,6,5,4>: Cost 3 vtrnl <3,4,5,6>, <6,3,4,5>
+    4175022008U, // <3,6,5,5>: Cost 4 vtrnr <2,3,4,5>, <2,6,3,5>
+    2732970728U, // <3,6,5,6>: Cost 3 vext3 LHS, <6,5,6,7>
+    2954382646U, // <3,6,5,7>: Cost 3 vzipr <0,2,3,5>, RHS
+    2954382647U, // <3,6,5,u>: Cost 3 vzipr <0,2,3,5>, RHS
+    2732970748U, // <3,6,6,0>: Cost 3 vext3 LHS, <6,6,0,0>
     2724270856U, // <3,6,6,1>: Cost 3 vext3 <6,6,1,3>, <6,6,1,3>
-    2624819706U, // <3,6,6,2>: Cost 3 vext2 <1,2,3,6>, <6,2,7,3>
-    3656223234U, // <3,6,6,3>: Cost 4 vext1 <5,3,6,6>, <3,4,5,6>
+    2732970768U, // <3,6,6,2>: Cost 3 vext3 LHS, <6,6,2,2>
+    4032112998U, // <3,6,6,3>: Cost 4 vzipr <0,u,3,6>, <3,2,6,3>
     2732970788U, // <3,6,6,4>: Cost 3 vext3 LHS, <6,6,4,4>
     2732970800U, // <3,6,6,5>: Cost 3 vext3 LHS, <6,6,5,7>
     1659228984U, // <3,6,6,6>: Cost 2 vext3 LHS, <6,6,6,6>
@@ -2762,75 +2760,75 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1659229006U, // <3,6,7,0>: Cost 2 vext3 LHS, <6,7,0,1>
     2558600201U, // <3,6,7,1>: Cost 3 vext1 <1,3,6,7>, <1,3,6,7>
     2558601146U, // <3,6,7,2>: Cost 3 vext1 <1,3,6,7>, <2,6,3,7>
-    2725081963U, // <3,6,7,3>: Cost 3 vext3 <6,7,3,3>, <6,7,3,3>
+    2968996198U, // <3,6,7,3>: Cost 3 vzipr <2,6,3,7>, <3,2,6,3>
     1659229046U, // <3,6,7,4>: Cost 2 vext3 LHS, <6,7,4,5>
-    2715423611U, // <3,6,7,5>: Cost 3 vext3 <5,1,7,3>, <6,7,5,1>
+    2968995633U, // <3,6,7,5>: Cost 3 vzipr <2,6,3,7>, <2,4,6,5>
     2722059141U, // <3,6,7,6>: Cost 3 vext3 <6,2,7,3>, <6,7,6,2>
-    2962361654U, // <3,6,7,7>: Cost 3 vzipr <1,5,3,7>, RHS
-    1659229078U, // <3,6,7,u>: Cost 2 vext3 LHS, <6,7,u,1>
+    1888619830U, // <3,6,7,7>: Cost 2 vzipr <1,5,3,7>, RHS
+    1888619831U, // <3,6,7,u>: Cost 2 vzipr <1,5,3,7>, RHS
     1659229087U, // <3,6,u,0>: Cost 2 vext3 LHS, <6,u,0,1>
     2689840041U, // <3,6,u,1>: Cost 3 vext3 LHS, <6,u,1,2>
     2558609339U, // <3,6,u,2>: Cost 3 vext1 <1,3,6,u>, <2,6,3,u>
-    2576525853U, // <3,6,u,3>: Cost 3 vext1 <4,3,6,u>, <3,4,u,6>
+    2826732189U, // <3,6,u,3>: Cost 3 vuzpr <1,3,2,6>, LHS
     1659229127U, // <3,6,u,4>: Cost 2 vext3 LHS, <6,u,4,5>
     2689840081U, // <3,6,u,5>: Cost 3 vext3 LHS, <6,u,5,6>
     1659228984U, // <3,6,u,6>: Cost 2 vext3 LHS, <6,6,6,6>
-    1652298720U, // <3,6,u,7>: Cost 2 vext3 <6,u,7,3>, <6,u,7,3>
-    1659229159U, // <3,6,u,u>: Cost 2 vext3 LHS, <6,u,u,1>
-    2626813952U, // <3,7,0,0>: Cost 3 vext2 <1,5,3,7>, <0,0,0,0>
+    1885310262U, // <3,6,u,7>: Cost 2 vzipr <1,0,3,u>, RHS
+    1885310263U, // <3,6,u,u>: Cost 2 vzipr <1,0,3,u>, RHS
+    2826960896U, // <3,7,0,0>: Cost 3 vuzpr <1,3,5,7>, <0,0,0,0>
     1553072230U, // <3,7,0,1>: Cost 2 vext2 <1,5,3,7>, LHS
-    2626814116U, // <3,7,0,2>: Cost 3 vext2 <1,5,3,7>, <0,2,0,2>
-    3700556028U, // <3,7,0,3>: Cost 4 vext2 <1,5,3,7>, <0,3,1,0>
+    2826960916U, // <3,7,0,2>: Cost 3 vuzpr <1,3,5,7>, <0,0,2,2>
+    3002117840U, // <3,7,0,3>: Cost 3 vzipr <u,2,3,0>, <5,1,7,3>
     2626814290U, // <3,7,0,4>: Cost 3 vext2 <1,5,3,7>, <0,4,1,5>
     2582507375U, // <3,7,0,5>: Cost 3 vext1 <5,3,7,0>, <5,3,7,0>
     2588480072U, // <3,7,0,6>: Cost 3 vext1 <6,3,7,0>, <6,3,7,0>
     2732971055U, // <3,7,0,7>: Cost 3 vext3 LHS, <7,0,7,1>
     1553072797U, // <3,7,0,u>: Cost 2 vext2 <1,5,3,7>, LHS
     2626814710U, // <3,7,1,0>: Cost 3 vext2 <1,5,3,7>, <1,0,3,2>
-    2626814772U, // <3,7,1,1>: Cost 3 vext2 <1,5,3,7>, <1,1,1,1>
+    2826961716U, // <3,7,1,1>: Cost 3 vuzpr <1,3,5,7>, <1,1,1,1>
     2626814870U, // <3,7,1,2>: Cost 3 vext2 <1,5,3,7>, <1,2,3,0>
-    2625487854U, // <3,7,1,3>: Cost 3 vext2 <1,3,3,7>, <1,3,3,7>
+    1753219174U, // <3,7,1,3>: Cost 2 vuzpr <1,3,5,7>, LHS
     2582514998U, // <3,7,1,4>: Cost 3 vext1 <5,3,7,1>, RHS
     1553073296U, // <3,7,1,5>: Cost 2 vext2 <1,5,3,7>, <1,5,3,7>
     2627478753U, // <3,7,1,6>: Cost 3 vext2 <1,6,3,7>, <1,6,3,7>
     2727367810U, // <3,7,1,7>: Cost 3 vext3 <7,1,7,3>, <7,1,7,3>
-    1555064195U, // <3,7,1,u>: Cost 2 vext2 <1,u,3,7>, <1,u,3,7>
-    2588491878U, // <3,7,2,0>: Cost 3 vext1 <6,3,7,2>, LHS
-    3700557318U, // <3,7,2,1>: Cost 4 vext2 <1,5,3,7>, <2,1,0,3>
-    2626815592U, // <3,7,2,2>: Cost 3 vext2 <1,5,3,7>, <2,2,2,2>
-    2626815654U, // <3,7,2,3>: Cost 3 vext2 <1,5,3,7>, <2,3,0,1>
-    2588495158U, // <3,7,2,4>: Cost 3 vext1 <6,3,7,2>, RHS
-    2632787817U, // <3,7,2,5>: Cost 3 vext2 <2,5,3,7>, <2,5,3,7>
+    1753219179U, // <3,7,1,u>: Cost 2 vuzpr <1,3,5,7>, LHS
+    2826961814U, // <3,7,2,0>: Cost 3 vuzpr <1,3,5,7>, <1,2,3,0>
+    2959003747U, // <3,7,2,1>: Cost 3 vzipr <1,0,3,2>, <5,6,7,1>
+    2826961060U, // <3,7,2,2>: Cost 3 vuzpr <1,3,5,7>, <0,2,0,2>
+    2826962546U, // <3,7,2,3>: Cost 3 vuzpr <1,3,5,7>, <2,2,3,3>
+    2826961818U, // <3,7,2,4>: Cost 3 vuzpr <1,3,5,7>, <1,2,3,4>
+    2826961072U, // <3,7,2,5>: Cost 3 vuzpr <1,3,5,7>, <0,2,1,5>
     1559709626U, // <3,7,2,6>: Cost 2 vext2 <2,6,3,7>, <2,6,3,7>
     2728031443U, // <3,7,2,7>: Cost 3 vext3 <7,2,7,3>, <7,2,7,3>
     1561036892U, // <3,7,2,u>: Cost 2 vext2 <2,u,3,7>, <2,u,3,7>
     2626816150U, // <3,7,3,0>: Cost 3 vext2 <1,5,3,7>, <3,0,1,2>
-    2626816268U, // <3,7,3,1>: Cost 3 vext2 <1,5,3,7>, <3,1,5,3>
+    2826962598U, // <3,7,3,1>: Cost 3 vuzpr <1,3,5,7>, <2,3,0,1>
     2633451878U, // <3,7,3,2>: Cost 3 vext2 <2,6,3,7>, <3,2,6,3>
-    2626816412U, // <3,7,3,3>: Cost 3 vext2 <1,5,3,7>, <3,3,3,3>
+    2826961880U, // <3,7,3,3>: Cost 3 vuzpr <1,3,5,7>, <1,3,1,3>
     2626816514U, // <3,7,3,4>: Cost 3 vext2 <1,5,3,7>, <3,4,5,6>
-    2638760514U, // <3,7,3,5>: Cost 3 vext2 <3,5,3,7>, <3,5,3,7>
+    2826962638U, // <3,7,3,5>: Cost 3 vuzpr <1,3,5,7>, <2,3,4,5>
     2639424147U, // <3,7,3,6>: Cost 3 vext2 <3,6,3,7>, <3,6,3,7>
-    2826961920U, // <3,7,3,7>: Cost 3 vuzpr <1,3,5,7>, <1,3,5,7>
-    2626816798U, // <3,7,3,u>: Cost 3 vext2 <1,5,3,7>, <3,u,1,2>
+    1753220096U, // <3,7,3,7>: Cost 2 vuzpr <1,3,5,7>, <1,3,5,7>
+    1753220096U, // <3,7,3,u>: Cost 2 vuzpr <1,3,5,7>, <1,3,5,7>
     2582536294U, // <3,7,4,0>: Cost 3 vext1 <5,3,7,4>, LHS
     2582537360U, // <3,7,4,1>: Cost 3 vext1 <5,3,7,4>, <1,5,3,7>
     2588510138U, // <3,7,4,2>: Cost 3 vext1 <6,3,7,4>, <2,6,3,7>
-    3700558996U, // <3,7,4,3>: Cost 4 vext2 <1,5,3,7>, <4,3,6,7>
+    3002150608U, // <3,7,4,3>: Cost 3 vzipr <u,2,3,4>, <5,1,7,3>
     2582539574U, // <3,7,4,4>: Cost 3 vext1 <5,3,7,4>, RHS
     1553075510U, // <3,7,4,5>: Cost 2 vext2 <1,5,3,7>, RHS
-    2588512844U, // <3,7,4,6>: Cost 3 vext1 <6,3,7,4>, <6,3,7,4>
-    2564625766U, // <3,7,4,7>: Cost 3 vext1 <2,3,7,4>, <7,4,5,6>
+    2826961244U, // <3,7,4,6>: Cost 3 vuzpr <1,3,5,7>, <0,4,2,6>
+    2732971383U, // <3,7,4,7>: Cost 3 vext3 LHS, <7,4,7,5>
     1553075753U, // <3,7,4,u>: Cost 2 vext2 <1,5,3,7>, RHS
-    2732971398U, // <3,7,5,0>: Cost 3 vext3 LHS, <7,5,0,2>
-    2626817744U, // <3,7,5,1>: Cost 3 vext2 <1,5,3,7>, <5,1,7,3>
-    3700559649U, // <3,7,5,2>: Cost 4 vext2 <1,5,3,7>, <5,2,7,3>
+    2826963551U, // <3,7,5,0>: Cost 3 vuzpr <1,3,5,7>, <3,5,7,0>
+    2826963552U, // <3,7,5,1>: Cost 3 vuzpr <1,3,5,7>, <3,5,7,1>
+    2826962032U, // <3,7,5,2>: Cost 3 vuzpr <1,3,5,7>, <1,5,0,2>
     2626817903U, // <3,7,5,3>: Cost 3 vext2 <1,5,3,7>, <5,3,7,0>
-    2258728203U, // <3,7,5,4>: Cost 3 vrev <7,3,4,5>
-    2732971446U, // <3,7,5,5>: Cost 3 vext3 LHS, <7,5,5,5>
-    2732971457U, // <3,7,5,6>: Cost 3 vext3 LHS, <7,5,6,7>
-    2826964278U, // <3,7,5,7>: Cost 3 vuzpr <1,3,5,7>, RHS
-    2826964279U, // <3,7,5,u>: Cost 3 vuzpr <1,3,5,7>, RHS
+    2826963555U, // <3,7,5,4>: Cost 3 vuzpr <1,3,5,7>, <3,5,7,4>
+    2826962044U, // <3,7,5,5>: Cost 3 vuzpr <1,3,5,7>, <1,5,1,5>
+    2826962072U, // <3,7,5,6>: Cost 3 vuzpr <1,3,5,7>, <1,5,4,6>
+    1753222454U, // <3,7,5,7>: Cost 2 vuzpr <1,3,5,7>, RHS
+    1753222455U, // <3,7,5,u>: Cost 2 vuzpr <1,3,5,7>, RHS
     2732971478U, // <3,7,6,0>: Cost 3 vext3 LHS, <7,6,0,1>
     2732971486U, // <3,7,6,1>: Cost 3 vext3 LHS, <7,6,1,0>
     2633454074U, // <3,7,6,2>: Cost 3 vext2 <2,6,3,7>, <6,2,7,3>
@@ -2838,34 +2836,34 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2732971518U, // <3,7,6,4>: Cost 3 vext3 LHS, <7,6,4,5>
     2732971526U, // <3,7,6,5>: Cost 3 vext3 LHS, <7,6,5,4>
     2732971537U, // <3,7,6,6>: Cost 3 vext3 LHS, <7,6,6,6>
-    2732971540U, // <3,7,6,7>: Cost 3 vext3 LHS, <7,6,7,0>
-    2726041124U, // <3,7,6,u>: Cost 3 vext3 <6,u,7,3>, <7,6,u,7>
-    2570616934U, // <3,7,7,0>: Cost 3 vext1 <3,3,7,7>, LHS
-    2570617856U, // <3,7,7,1>: Cost 3 vext1 <3,3,7,7>, <1,3,5,7>
-    2564646635U, // <3,7,7,2>: Cost 3 vext1 <2,3,7,7>, <2,3,7,7>
-    2570619332U, // <3,7,7,3>: Cost 3 vext1 <3,3,7,7>, <3,3,7,7>
-    2570620214U, // <3,7,7,4>: Cost 3 vext1 <3,3,7,7>, RHS
-    2582564726U, // <3,7,7,5>: Cost 3 vext1 <5,3,7,7>, <5,3,7,7>
+    2826962874U, // <3,7,6,7>: Cost 3 vuzpr <1,3,5,7>, <2,6,3,7>
+    2826962875U, // <3,7,6,u>: Cost 3 vuzpr <1,3,5,7>, <2,6,3,u>
+    2962362223U, // <3,7,7,0>: Cost 3 vzipr <1,5,3,7>, <5,3,7,0>
+    2826965109U, // <3,7,7,1>: Cost 3 vuzpr <1,3,5,7>, <5,7,0,1>
+    2968998474U, // <3,7,7,2>: Cost 3 vzipr <2,6,3,7>, <6,3,7,2>
+    2826963662U, // <3,7,7,3>: Cost 3 vuzpr <1,3,5,7>, <3,7,1,3>
+    2962362227U, // <3,7,7,4>: Cost 3 vzipr <1,5,3,7>, <5,3,7,4>
+    2826965149U, // <3,7,7,5>: Cost 3 vuzpr <1,3,5,7>, <5,7,4,5>
     2588537423U, // <3,7,7,6>: Cost 3 vext1 <6,3,7,7>, <6,3,7,7>
     1659229804U, // <3,7,7,7>: Cost 2 vext3 LHS, <7,7,7,7>
     1659229804U, // <3,7,7,u>: Cost 2 vext3 LHS, <7,7,7,7>
-    2626819795U, // <3,7,u,0>: Cost 3 vext2 <1,5,3,7>, <u,0,1,2>
+    2826962300U, // <3,7,u,0>: Cost 3 vuzpr <1,3,5,7>, <1,u,3,0>
     1553078062U, // <3,7,u,1>: Cost 2 vext2 <1,5,3,7>, LHS
-    2626819973U, // <3,7,u,2>: Cost 3 vext2 <1,5,3,7>, <u,2,3,0>
-    2826961565U, // <3,7,u,3>: Cost 3 vuzpr <1,3,5,7>, LHS
-    2626820159U, // <3,7,u,4>: Cost 3 vext2 <1,5,3,7>, <u,4,5,6>
+    2826961546U, // <3,7,u,2>: Cost 3 vuzpr <1,3,5,7>, <0,u,0,2>
+    1753219741U, // <3,7,u,3>: Cost 2 vuzpr <1,3,5,7>, LHS
+    2826962304U, // <3,7,u,4>: Cost 3 vuzpr <1,3,5,7>, <1,u,3,4>
     1553078426U, // <3,7,u,5>: Cost 2 vext2 <1,5,3,7>, RHS
     1595545808U, // <3,7,u,6>: Cost 2 vext2 <u,6,3,7>, <u,6,3,7>
-    1659229804U, // <3,7,u,7>: Cost 2 vext3 LHS, <7,7,7,7>
-    1553078629U, // <3,7,u,u>: Cost 2 vext2 <1,5,3,7>, LHS
+    1753222697U, // <3,7,u,7>: Cost 2 vuzpr <1,3,5,7>, RHS
+    1753219746U, // <3,7,u,u>: Cost 2 vuzpr <1,3,5,7>, LHS
     1611448320U, // <3,u,0,0>: Cost 2 vext3 LHS, <0,0,0,0>
     1611896531U, // <3,u,0,1>: Cost 2 vext3 LHS, <u,0,1,2>
-    1659672284U, // <3,u,0,2>: Cost 2 vext3 LHS, <u,0,2,2>
+    1696243814U, // <3,u,0,2>: Cost 2 vuzpl <3,0,u,2>, LHS
     1616099045U, // <3,u,0,3>: Cost 2 vext3 LHS, <u,0,3,2>
     2685638381U, // <3,u,0,4>: Cost 3 vext3 LHS, <u,0,4,1>
-    1663874806U, // <3,u,0,5>: Cost 2 vext3 LHS, <u,0,5,1>
+    1829951642U, // <3,u,0,5>: Cost 2 vzipl <3,0,1,2>, RHS
     1663874816U, // <3,u,0,6>: Cost 2 vext3 LHS, <u,0,6,2>
-    2960313672U, // <3,u,0,7>: Cost 3 vzipr <1,2,3,0>, RHS
+    1886571848U, // <3,u,0,7>: Cost 2 vzipr <1,2,3,0>, RHS
     1611896594U, // <3,u,0,u>: Cost 2 vext3 LHS, <u,0,u,2>
     1549763324U, // <3,u,1,0>: Cost 2 vext2 <1,0,3,u>, <1,0,3,u>
     1550426957U, // <3,u,1,1>: Cost 2 vext2 <1,1,3,u>, <1,1,3,u>
@@ -2873,63 +2871,63 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1616541495U, // <3,u,1,3>: Cost 2 vext3 LHS, <u,1,3,3>
     1490930998U, // <3,u,1,4>: Cost 2 vext1 <2,3,u,1>, RHS
     1553081489U, // <3,u,1,5>: Cost 2 vext2 <1,5,3,u>, <1,5,3,u>
-    2627486946U, // <3,u,1,6>: Cost 3 vext2 <1,6,3,u>, <1,6,3,u>
-    1659230043U, // <3,u,1,7>: Cost 2 vext3 LHS, <u,1,7,3>
+    1964169370U, // <3,u,1,6>: Cost 2 vtrnl <3,0,1,2>, RHS
+    2027212329U, // <3,u,1,7>: Cost 2 vtrnr <2,3,0,1>, RHS
     537712484U,  // <3,u,1,u>: Cost 1 vext3 LHS, LHS
-    1611890852U, // <3,u,2,0>: Cost 2 vext3 LHS, <0,2,0,2>
-    2624833102U, // <3,u,2,1>: Cost 3 vext2 <1,2,3,u>, <2,1,u,3>
+    1659672428U, // <3,u,2,0>: Cost 2 vext3 LHS, <u,2,0,2>
+    2689841014U, // <3,u,2,1>: Cost 3 vext3 LHS, <u,2,1,3>
     1557063287U, // <3,u,2,2>: Cost 2 vext2 <2,2,3,u>, <2,2,3,u>
     1616099205U, // <3,u,2,3>: Cost 2 vext3 LHS, <u,2,3,0>
-    1611890892U, // <3,u,2,4>: Cost 2 vext3 LHS, <0,2,4,6>
+    1659672468U, // <3,u,2,4>: Cost 2 vext3 LHS, <u,2,4,6>
     2689841054U, // <3,u,2,5>: Cost 3 vext3 LHS, <u,2,5,7>
     1559717819U, // <3,u,2,6>: Cost 2 vext2 <2,6,3,u>, <2,6,3,u>
-    1659230124U, // <3,u,2,7>: Cost 2 vext3 LHS, <u,2,7,3>
-    1616541618U, // <3,u,2,u>: Cost 2 vext3 LHS, <u,2,u,0>
+    1885261128U, // <3,u,2,7>: Cost 2 vzipr <1,0,3,2>, RHS
+    1616099253U, // <3,u,2,u>: Cost 2 vext3 LHS, <u,2,u,3>
     1611896764U, // <3,u,3,0>: Cost 2 vext3 LHS, <u,3,0,1>
-    1484973079U, // <3,u,3,1>: Cost 2 vext1 <1,3,u,3>, <1,3,u,3>
-    2685638607U, // <3,u,3,2>: Cost 3 vext3 LHS, <u,3,2,2>
+    1616541639U, // <3,u,3,1>: Cost 2 vext3 LHS, <u,3,1,3>
+    1966315310U, // <3,u,3,2>: Cost 2 vtrnl <3,3,3,3>, LHS
     336380006U,  // <3,u,3,3>: Cost 1 vdup3 LHS
     1611896804U, // <3,u,3,4>: Cost 2 vext3 LHS, <u,3,4,5>
     1616541679U, // <3,u,3,5>: Cost 2 vext3 LHS, <u,3,5,7>
-    2690283512U, // <3,u,3,6>: Cost 3 vext3 LHS, <u,3,6,7>
-    2959674696U, // <3,u,3,7>: Cost 3 vzipr <1,1,3,3>, RHS
+    1966315674U, // <3,u,3,6>: Cost 2 vtrnl <3,3,3,3>, RHS
+    1885932872U, // <3,u,3,7>: Cost 2 vzipr <1,1,3,3>, RHS
     336380006U,  // <3,u,3,u>: Cost 1 vdup3 LHS
-    2558722150U, // <3,u,4,0>: Cost 3 vext1 <1,3,u,4>, LHS
-    1659672602U, // <3,u,4,1>: Cost 2 vext3 LHS, <u,4,1,5>
+    2960344003U, // <3,u,4,0>: Cost 3 vzipr <1,2,3,4>, <1,2,u,0>
+    1832933166U, // <3,u,4,1>: Cost 2 vzipl <3,4,5,6>, LHS
     1659672612U, // <3,u,4,2>: Cost 2 vext3 LHS, <u,4,2,6>
-    2689841196U, // <3,u,4,3>: Cost 3 vext3 LHS, <u,4,3,5>
-    1659227344U, // <3,u,4,4>: Cost 2 vext3 LHS, <4,4,4,4>
+    1886601372U, // <3,u,4,3>: Cost 2 vzipr <1,2,3,4>, LHS
+    1886602138U, // <3,u,4,4>: Cost 2 vzipr <1,2,3,4>, <1,2,3,4>
     1611896895U, // <3,u,4,5>: Cost 2 vext3 LHS, <u,4,5,6>
-    1663875144U, // <3,u,4,6>: Cost 2 vext3 LHS, <u,4,6,6>
-    1659230289U, // <3,u,4,7>: Cost 2 vext3 LHS, <u,4,7,6>
+    1696247094U, // <3,u,4,6>: Cost 2 vuzpl <3,0,u,2>, RHS
+    1886604616U, // <3,u,4,7>: Cost 2 vzipr <1,2,3,4>, RHS
     1611896922U, // <3,u,4,u>: Cost 2 vext3 LHS, <u,4,u,6>
     1490960486U, // <3,u,5,0>: Cost 2 vext1 <2,3,u,5>, LHS
-    2689841261U, // <3,u,5,1>: Cost 3 vext3 LHS, <u,5,1,7>
+    2689841257U, // <3,u,5,1>: Cost 3 vext3 LHS, <u,5,1,3>
     1490962162U, // <3,u,5,2>: Cost 2 vext1 <2,3,u,5>, <2,3,u,5>
     1616541823U, // <3,u,5,3>: Cost 2 vext3 LHS, <u,5,3,7>
     1490963766U, // <3,u,5,4>: Cost 2 vext1 <2,3,u,5>, RHS
-    1659228164U, // <3,u,5,5>: Cost 2 vext3 LHS, <5,5,5,5>
+    2027538126U, // <3,u,5,5>: Cost 2 vtrnr <2,3,4,5>, <2,3,4,5>
     537712794U,  // <3,u,5,6>: Cost 1 vext3 LHS, RHS
-    1659230371U, // <3,u,5,7>: Cost 2 vext3 LHS, <u,5,7,7>
+    1752935734U, // <3,u,5,7>: Cost 2 vuzpr <1,3,1,u>, RHS
     537712812U,  // <3,u,5,u>: Cost 1 vext3 LHS, RHS
-    2689841327U, // <3,u,6,0>: Cost 3 vext3 LHS, <u,6,0,1>
-    2558739482U, // <3,u,6,1>: Cost 3 vext1 <1,3,u,6>, <1,3,u,6>
+    1663875248U, // <3,u,6,0>: Cost 2 vext3 LHS, <u,6,0,2>
+    2690283706U, // <3,u,6,1>: Cost 3 vext3 LHS, <u,6,1,3>
     2689841351U, // <3,u,6,2>: Cost 3 vext3 LHS, <u,6,2,7>
     1616099536U, // <3,u,6,3>: Cost 2 vext3 LHS, <u,6,3,7>
-    1659227508U, // <3,u,6,4>: Cost 2 vext3 LHS, <4,6,4,6>
+    1663875288U, // <3,u,6,4>: Cost 2 vext3 LHS, <u,6,4,6>
     2690283746U, // <3,u,6,5>: Cost 3 vext3 LHS, <u,6,5,7>
     1659228984U, // <3,u,6,6>: Cost 2 vext3 LHS, <6,6,6,6>
     1659230445U, // <3,u,6,7>: Cost 2 vext3 LHS, <u,6,7,0>
     1616099581U, // <3,u,6,u>: Cost 2 vext3 LHS, <u,6,u,7>
     1485004902U, // <3,u,7,0>: Cost 2 vext1 <1,3,u,7>, LHS
     1485005851U, // <3,u,7,1>: Cost 2 vext1 <1,3,u,7>, <1,3,u,7>
-    2558748264U, // <3,u,7,2>: Cost 3 vext1 <1,3,u,7>, <2,2,2,2>
-    3095397021U, // <3,u,7,3>: Cost 3 vtrnr <1,3,5,7>, LHS
+    3095397002U, // <3,u,7,2>: Cost 3 vtrnr <1,3,5,7>, <0,u,0,2>
+    2021655197U, // <3,u,7,3>: Cost 2 vtrnr <1,3,5,7>, LHS
     1485008182U, // <3,u,7,4>: Cost 2 vext1 <1,3,u,7>, RHS
-    1659228328U, // <3,u,7,5>: Cost 2 vext3 LHS, <5,7,5,7>
-    2722060599U, // <3,u,7,6>: Cost 3 vext3 <6,2,7,3>, <u,7,6,2>
-    1659229804U, // <3,u,7,7>: Cost 2 vext3 LHS, <7,7,7,7>
-    1485010734U, // <3,u,7,u>: Cost 2 vext1 <1,3,u,7>, LHS
+    1659230515U, // <3,u,7,5>: Cost 2 vext3 LHS, <u,7,5,7>
+    3095397024U, // <3,u,7,6>: Cost 3 vtrnr <1,3,5,7>, <0,u,2,6>
+    2021658153U, // <3,u,7,7>: Cost 2 vtrnr <1,3,5,7>, RHS
+    2021655202U, // <3,u,7,u>: Cost 2 vtrnr <1,3,5,7>, LHS
     1616099665U, // <3,u,u,0>: Cost 2 vext3 LHS, <u,u,0,1>
     1611897179U, // <3,u,u,1>: Cost 2 vext3 LHS, <u,u,1,2>
     537712997U,  // <3,u,u,2>: Cost 1 vext3 LHS, LHS
@@ -2937,114 +2935,114 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1616099705U, // <3,u,u,4>: Cost 2 vext3 LHS, <u,u,4,5>
     1611897219U, // <3,u,u,5>: Cost 2 vext3 LHS, <u,u,5,6>
     537713037U,  // <3,u,u,6>: Cost 1 vext3 LHS, RHS
-    1659230607U, // <3,u,u,7>: Cost 2 vext3 LHS, <u,u,7,0>
+    1885310280U, // <3,u,u,7>: Cost 2 vzipr <1,0,3,u>, RHS
     537713051U,  // <3,u,u,u>: Cost 1 vext3 LHS, LHS
     2691907584U, // <4,0,0,0>: Cost 3 vext3 <1,2,3,4>, <0,0,0,0>
-    2691907594U, // <4,0,0,1>: Cost 3 vext3 <1,2,3,4>, <0,0,1,1>
-    2691907604U, // <4,0,0,2>: Cost 3 vext3 <1,2,3,4>, <0,0,2,2>
-    3709862144U, // <4,0,0,3>: Cost 4 vext2 <3,1,4,0>, <0,3,1,4>
-    2684682280U, // <4,0,0,4>: Cost 3 vext3 <0,0,4,4>, <0,0,4,4>
-    3694600633U, // <4,0,0,5>: Cost 4 vext2 <0,5,4,0>, <0,5,4,0>
-    3291431290U, // <4,0,0,6>: Cost 4 vrev <0,4,6,0>
-    3668342067U, // <4,0,0,7>: Cost 4 vext1 <7,4,0,0>, <7,4,0,0>
-    2691907657U, // <4,0,0,u>: Cost 3 vext3 <1,2,3,4>, <0,0,u,1>
+    1836204134U, // <4,0,0,1>: Cost 2 vzipl <4,0,5,1>, LHS
+    1705607270U, // <4,0,0,2>: Cost 2 vuzpl <4,6,0,2>, LHS
+    4040764425U, // <4,0,0,3>: Cost 4 vzipr <2,3,4,0>, <4,2,0,3>
+    2909946194U, // <4,0,0,4>: Cost 3 vzipl <4,0,5,1>, <0,4,1,5>
+    2909946270U, // <4,0,0,5>: Cost 3 vzipl <4,0,5,1>, <0,5,1,0>
+    3695264266U, // <4,0,0,6>: Cost 4 vext2 <0,6,4,0>, <0,6,4,0>
+    4040764753U, // <4,0,0,7>: Cost 4 vzipr <2,3,4,0>, <4,6,0,7>
+    1705607324U, // <4,0,0,u>: Cost 2 vuzpl <4,6,0,2>, LHS
     2570715238U, // <4,0,1,0>: Cost 3 vext1 <3,4,0,1>, LHS
     2570716058U, // <4,0,1,1>: Cost 3 vext1 <3,4,0,1>, <1,2,3,4>
     1618165862U, // <4,0,1,2>: Cost 2 vext3 <1,2,3,4>, LHS
-    2570717648U, // <4,0,1,3>: Cost 3 vext1 <3,4,0,1>, <3,4,0,1>
+    2833612902U, // <4,0,1,3>: Cost 3 vuzpr <2,4,6,0>, LHS
     2570718518U, // <4,0,1,4>: Cost 3 vext1 <3,4,0,1>, RHS
-    2594607206U, // <4,0,1,5>: Cost 3 vext1 <7,4,0,1>, <5,6,7,4>
-    3662377563U, // <4,0,1,6>: Cost 4 vext1 <6,4,0,1>, <6,4,0,1>
+    2779350016U, // <4,0,1,5>: Cost 3 vuzpl <4,6,0,2>, <1,3,5,7>
+    2779350020U, // <4,0,1,6>: Cost 3 vuzpl <4,6,0,2>, <1,3,6,2>
     2594608436U, // <4,0,1,7>: Cost 3 vext1 <7,4,0,1>, <7,4,0,1>
     1618165916U, // <4,0,1,u>: Cost 2 vext3 <1,2,3,4>, LHS
     2685714598U, // <4,0,2,0>: Cost 3 vext3 <0,2,0,4>, <0,2,0,4>
-    3759530159U, // <4,0,2,1>: Cost 4 vext3 <0,2,1,4>, <0,2,1,4>
+    2911289446U, // <4,0,2,1>: Cost 3 vzipl <4,2,5,3>, LHS
     2685862072U, // <4,0,2,2>: Cost 3 vext3 <0,2,2,4>, <0,2,2,4>
     2631476937U, // <4,0,2,3>: Cost 3 vext2 <2,3,4,0>, <2,3,4,0>
     2685714636U, // <4,0,2,4>: Cost 3 vext3 <0,2,0,4>, <0,2,4,6>
-    3765649622U, // <4,0,2,5>: Cost 4 vext3 <1,2,3,4>, <0,2,5,7>
-    2686157020U, // <4,0,2,6>: Cost 3 vext3 <0,2,6,4>, <0,2,6,4>
-    3668358453U, // <4,0,2,7>: Cost 4 vext1 <7,4,0,2>, <7,4,0,2>
+    3894968523U, // <4,0,2,5>: Cost 4 vuzpr <0,4,0,0>, <0,2,4,5>
+    2833613004U, // <4,0,2,6>: Cost 3 vuzpr <2,4,6,0>, <0,2,4,6>
+    3853092743U, // <4,0,2,7>: Cost 4 vuzpl <4,6,0,2>, <2,5,7,1>
     2686304494U, // <4,0,2,u>: Cost 3 vext3 <0,2,u,4>, <0,2,u,4>
     3632529510U, // <4,0,3,0>: Cost 4 vext1 <1,4,0,3>, LHS
     2686451968U, // <4,0,3,1>: Cost 3 vext3 <0,3,1,4>, <0,3,1,4>
-    2686525705U, // <4,0,3,2>: Cost 3 vext3 <0,3,2,4>, <0,3,2,4>
-    3760341266U, // <4,0,3,3>: Cost 4 vext3 <0,3,3,4>, <0,3,3,4>
-    3632532790U, // <4,0,3,4>: Cost 4 vext1 <1,4,0,3>, RHS
-    3913254606U, // <4,0,3,5>: Cost 4 vuzpr <3,4,5,0>, <2,3,4,5>
-    3705219740U, // <4,0,3,6>: Cost 4 vext2 <2,3,4,0>, <3,6,4,7>
-    3713845990U, // <4,0,3,7>: Cost 4 vext2 <3,7,4,0>, <3,7,4,0>
-    2686451968U, // <4,0,3,u>: Cost 3 vext3 <0,3,1,4>, <0,3,1,4>
-    2552823910U, // <4,0,4,0>: Cost 3 vext1 <0,4,0,4>, LHS
-    2691907922U, // <4,0,4,1>: Cost 3 vext3 <1,2,3,4>, <0,4,1,5>
-    2691907932U, // <4,0,4,2>: Cost 3 vext3 <1,2,3,4>, <0,4,2,6>
+    3047997542U, // <4,0,3,2>: Cost 3 vtrnl <4,6,3,1>, LHS
+    2779351452U, // <4,0,3,3>: Cost 3 vuzpl <4,6,0,2>, <3,3,3,3>
+    4028178598U, // <4,0,3,4>: Cost 4 vzipr <0,2,4,3>, <0,2,0,4>
+    2839512782U, // <4,0,3,5>: Cost 3 vuzpr <3,4,5,0>, <2,3,4,5>
+    2779351557U, // <4,0,3,6>: Cost 3 vuzpl <4,6,0,2>, <3,4,6,0>
+    3907355648U, // <4,0,3,7>: Cost 4 vuzpr <2,4,6,0>, <1,3,5,7>
+    2839733969U, // <4,0,3,u>: Cost 3 vuzpr <3,4,u,0>, <2,3,4,u>
+    1705610572U, // <4,0,4,0>: Cost 2 vuzpl <4,6,0,2>, <4,6,0,2>
+    1838809190U, // <4,0,4,1>: Cost 2 vzipl <4,4,4,4>, LHS
+    1974370406U, // <4,0,4,2>: Cost 2 vtrnl <4,6,4,6>, LHS
     3626567830U, // <4,0,4,3>: Cost 4 vext1 <0,4,0,4>, <3,0,1,2>
     2552827190U, // <4,0,4,4>: Cost 3 vext1 <0,4,0,4>, RHS
     2631478582U, // <4,0,4,5>: Cost 3 vext2 <2,3,4,0>, RHS
-    3626570017U, // <4,0,4,6>: Cost 4 vext1 <0,4,0,4>, <6,0,1,2>
-    3668374839U, // <4,0,4,7>: Cost 4 vext1 <7,4,0,4>, <7,4,0,4>
-    2552829742U, // <4,0,4,u>: Cost 3 vext1 <0,4,0,4>, LHS
-    2558804070U, // <4,0,5,0>: Cost 3 vext1 <1,4,0,5>, LHS
-    1839644774U, // <4,0,5,1>: Cost 2 vzipl RHS, LHS
-    2913386660U, // <4,0,5,2>: Cost 3 vzipl RHS, <0,2,0,2>
+    1705610550U, // <4,0,4,6>: Cost 2 vuzpl <4,6,0,2>, RHS
+    3853094282U, // <4,0,4,7>: Cost 4 vuzpl <4,6,0,2>, <4,6,7,1>
+    1705610568U, // <4,0,4,u>: Cost 2 vuzpl <4,6,0,2>, RHS
+    1839644672U, // <4,0,5,0>: Cost 2 vzipl RHS, <0,0,0,0>
+    765902950U,  // <4,0,5,1>: Cost 1 vzipl RHS, LHS
+    1839644836U, // <4,0,5,2>: Cost 2 vzipl RHS, <0,2,0,2>
     2570750420U, // <4,0,5,3>: Cost 3 vext1 <3,4,0,5>, <3,4,0,5>
-    2558807350U, // <4,0,5,4>: Cost 3 vext1 <1,4,0,5>, RHS
-    3987128750U, // <4,0,5,5>: Cost 4 vzipl RHS, <0,5,2,7>
-    3987128822U, // <4,0,5,6>: Cost 4 vzipl RHS, <0,6,1,7>
-    2594641208U, // <4,0,5,7>: Cost 3 vext1 <7,4,0,5>, <7,4,0,5>
-    1839645341U, // <4,0,5,u>: Cost 2 vzipl RHS, LHS
-    2552840294U, // <4,0,6,0>: Cost 3 vext1 <0,4,0,6>, LHS
-    3047604234U, // <4,0,6,1>: Cost 3 vtrnl RHS, <0,0,1,1>
-    1973862502U, // <4,0,6,2>: Cost 2 vtrnl RHS, LHS
-    2570758613U, // <4,0,6,3>: Cost 3 vext1 <3,4,0,6>, <3,4,0,6>
-    2552843574U, // <4,0,6,4>: Cost 3 vext1 <0,4,0,6>, RHS
-    2217664887U, // <4,0,6,5>: Cost 3 vrev <0,4,5,6>
-    3662418528U, // <4,0,6,6>: Cost 4 vext1 <6,4,0,6>, <6,4,0,6>
-    2658022257U, // <4,0,6,7>: Cost 3 vext2 <6,7,4,0>, <6,7,4,0>
-    1973862556U, // <4,0,6,u>: Cost 2 vtrnl RHS, LHS
-    3731764218U, // <4,0,7,0>: Cost 4 vext2 <6,7,4,0>, <7,0,1,2>
-    3988324454U, // <4,0,7,1>: Cost 4 vzipl <4,7,5,0>, LHS
-    4122034278U, // <4,0,7,2>: Cost 4 vtrnl <4,6,7,1>, LHS
-    3735082246U, // <4,0,7,3>: Cost 4 vext2 <7,3,4,0>, <7,3,4,0>
-    3731764536U, // <4,0,7,4>: Cost 4 vext2 <6,7,4,0>, <7,4,0,5>
-    3937145718U, // <4,0,7,5>: Cost 4 vuzpr <7,4,5,0>, <6,7,4,5>
-    3737073145U, // <4,0,7,6>: Cost 4 vext2 <7,6,4,0>, <7,6,4,0>
-    3731764844U, // <4,0,7,7>: Cost 4 vext2 <6,7,4,0>, <7,7,7,7>
-    4122034332U, // <4,0,7,u>: Cost 4 vtrnl <4,6,7,1>, LHS
-    2552856678U, // <4,0,u,0>: Cost 3 vext1 <0,4,0,u>, LHS
-    1841635430U, // <4,0,u,1>: Cost 2 vzipl RHS, LHS
-    1618166429U, // <4,0,u,2>: Cost 2 vext3 <1,2,3,4>, LHS
-    2570774999U, // <4,0,u,3>: Cost 3 vext1 <3,4,0,u>, <3,4,0,u>
-    2552859958U, // <4,0,u,4>: Cost 3 vext1 <0,4,0,u>, RHS
+    1839645010U, // <4,0,5,4>: Cost 2 vzipl RHS, <0,4,1,5>
+    2913386926U, // <4,0,5,5>: Cost 3 vzipl RHS, <0,5,2,7>
+    2913386998U, // <4,0,5,6>: Cost 3 vzipl RHS, <0,6,1,7>
+    2833616182U, // <4,0,5,7>: Cost 3 vuzpr <2,4,6,0>, RHS
+    765903517U,  // <4,0,5,u>: Cost 1 vzipl RHS, LHS
+    1973862400U, // <4,0,6,0>: Cost 2 vtrnl RHS, <0,0,0,0>
+    1973862410U, // <4,0,6,1>: Cost 2 vtrnl RHS, <0,0,1,1>
+    900120678U,  // <4,0,6,2>: Cost 1 vtrnl RHS, LHS
+    3047604414U, // <4,0,6,3>: Cost 3 vtrnl RHS, <0,2,3,1>
+    1973862604U, // <4,0,6,4>: Cost 2 vtrnl RHS, <0,2,4,6>
+    3047604438U, // <4,0,6,5>: Cost 3 vtrnl RHS, <0,2,5,7>
+    3047604446U, // <4,0,6,6>: Cost 3 vtrnl RHS, <0,2,6,6>
+    2779353594U, // <4,0,6,7>: Cost 3 vuzpl <4,6,0,2>, <6,2,7,3>
+    900120732U,  // <4,0,6,u>: Cost 1 vtrnl RHS, LHS
+    4175773696U, // <4,0,7,0>: Cost 4 vtrnr <2,4,5,7>, <0,0,0,0>
+    2779354106U, // <4,0,7,1>: Cost 3 vuzpl <4,6,0,2>, <7,0,1,2>
+    3048292454U, // <4,0,7,2>: Cost 3 vtrnl <4,6,7,1>, LHS
+    3853096028U, // <4,0,7,3>: Cost 4 vuzpl <4,6,0,2>, <7,1,3,1>
+    4030865574U, // <4,0,7,4>: Cost 4 vzipr <0,6,4,7>, <0,2,0,4>
+    2779354470U, // <4,0,7,5>: Cost 3 vuzpl <4,6,0,2>, <7,4,5,6>
+    2779354473U, // <4,0,7,6>: Cost 3 vuzpl <4,6,0,2>, <7,4,6,0>
+    2779354732U, // <4,0,7,7>: Cost 3 vuzpl <4,6,0,2>, <7,7,7,7>
+    2779354169U, // <4,0,7,u>: Cost 3 vuzpl <4,6,0,2>, <7,0,u,2>
+    1974009856U, // <4,0,u,0>: Cost 2 vtrnl RHS, <0,0,0,0>
+    767893606U,  // <4,0,u,1>: Cost 1 vzipl RHS, LHS
+    900268134U,  // <4,0,u,2>: Cost 1 vtrnl RHS, LHS
+    2833613469U, // <4,0,u,3>: Cost 3 vuzpr <2,4,6,0>, LHS
+    1974010060U, // <4,0,u,4>: Cost 2 vtrnl RHS, <0,2,4,6>
     2631481498U, // <4,0,u,5>: Cost 3 vext2 <2,3,4,0>, RHS
-    2686157020U, // <4,0,u,6>: Cost 3 vext3 <0,2,6,4>, <0,2,6,4>
-    2594665787U, // <4,0,u,7>: Cost 3 vext1 <7,4,0,u>, <7,4,0,u>
-    1618166483U, // <4,0,u,u>: Cost 2 vext3 <1,2,3,4>, LHS
-    2617548837U, // <4,1,0,0>: Cost 3 vext2 <0,0,4,1>, <0,0,4,1>
+    1705613466U, // <4,0,u,6>: Cost 2 vuzpl <4,6,0,2>, RHS
+    2833616425U, // <4,0,u,7>: Cost 3 vuzpr <2,4,6,0>, RHS
+    900268188U,  // <4,0,u,u>: Cost 1 vtrnl RHS, LHS
+    2600640614U, // <4,1,0,0>: Cost 3 vext1 <u,4,1,0>, LHS
     2622857318U, // <4,1,0,1>: Cost 3 vext2 <0,u,4,1>, LHS
-    3693281484U, // <4,1,0,2>: Cost 4 vext2 <0,3,4,1>, <0,2,4,6>
+    2775441510U, // <4,1,0,2>: Cost 3 vuzpl <4,0,1,2>, LHS
     2691908342U, // <4,1,0,3>: Cost 3 vext3 <1,2,3,4>, <1,0,3,2>
     2622857554U, // <4,1,0,4>: Cost 3 vext2 <0,u,4,1>, <0,4,1,5>
-    3764470538U, // <4,1,0,5>: Cost 4 vext3 <1,0,5,4>, <1,0,5,4>
-    3695272459U, // <4,1,0,6>: Cost 4 vext2 <0,6,4,1>, <0,6,4,1>
-    3733094980U, // <4,1,0,7>: Cost 4 vext2 <7,0,4,1>, <0,7,1,4>
-    2622857885U, // <4,1,0,u>: Cost 3 vext2 <0,u,4,1>, LHS
-    3696599798U, // <4,1,1,0>: Cost 4 vext2 <0,u,4,1>, <1,0,3,2>
+    3047785472U, // <4,1,0,5>: Cost 3 vtrnl <4,6,0,2>, <1,3,5,7>
+    3047785476U, // <4,1,0,6>: Cost 3 vtrnl <4,6,0,2>, <1,3,6,2>
+    3936783220U, // <4,1,0,7>: Cost 4 vuzpr <7,4,0,1>, <4,0,1,7>
+    2622857901U, // <4,1,0,u>: Cost 3 vext2 <0,u,4,1>, <0,u,4,1>
+    3626615118U, // <4,1,1,0>: Cost 4 vext1 <0,4,1,1>, <0,4,1,1>
     2691097399U, // <4,1,1,1>: Cost 3 vext3 <1,1,1,4>, <1,1,1,4>
     2631484314U, // <4,1,1,2>: Cost 3 vext2 <2,3,4,1>, <1,2,3,4>
     2691908424U, // <4,1,1,3>: Cost 3 vext3 <1,2,3,4>, <1,1,3,3>
-    3696600125U, // <4,1,1,4>: Cost 4 vext2 <0,u,4,1>, <1,4,3,5>
-    3696600175U, // <4,1,1,5>: Cost 4 vext2 <0,u,4,1>, <1,5,0,1>
+    3626618166U, // <4,1,1,4>: Cost 4 vext1 <0,4,1,1>, RHS
+    2958401874U, // <4,1,1,5>: Cost 3 vzipr <0,u,4,1>, <0,4,1,5>
     3696600307U, // <4,1,1,6>: Cost 4 vext2 <0,u,4,1>, <1,6,5,7>
-    3668423997U, // <4,1,1,7>: Cost 4 vext1 <7,4,1,1>, <7,4,1,1>
+    4032146778U, // <4,1,1,7>: Cost 4 vzipr <0,u,4,1>, <4,6,1,7>
     2691908469U, // <4,1,1,u>: Cost 3 vext3 <1,2,3,4>, <1,1,u,3>
     2570797158U, // <4,1,2,0>: Cost 3 vext1 <3,4,1,2>, LHS
     2570797978U, // <4,1,2,1>: Cost 3 vext1 <3,4,1,2>, <1,2,3,4>
     3696600680U, // <4,1,2,2>: Cost 4 vext2 <0,u,4,1>, <2,2,2,2>
     1618166682U, // <4,1,2,3>: Cost 2 vext3 <1,2,3,4>, <1,2,3,4>
-    2570800438U, // <4,1,2,4>: Cost 3 vext1 <3,4,1,2>, RHS
-    3765650347U, // <4,1,2,5>: Cost 4 vext3 <1,2,3,4>, <1,2,5,3>
-    3696601018U, // <4,1,2,6>: Cost 4 vext2 <0,u,4,1>, <2,6,3,7>
+    2839151514U, // <4,1,2,4>: Cost 3 vuzpr <3,4,0,1>, <1,2,3,4>
+    4032151890U, // <4,1,2,5>: Cost 4 vzipr <0,u,4,2>, <0,4,1,5>
+    3894976716U, // <4,1,2,6>: Cost 4 vuzpr <0,4,0,1>, <0,2,4,6>
     3668432190U, // <4,1,2,7>: Cost 4 vext1 <7,4,1,2>, <7,4,1,2>
     1618535367U, // <4,1,2,u>: Cost 2 vext3 <1,2,u,4>, <1,2,u,4>
     2564833382U, // <4,1,3,0>: Cost 3 vext1 <2,4,1,3>, LHS
@@ -3054,357 +3052,357 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2564836662U, // <4,1,3,4>: Cost 3 vext1 <2,4,1,3>, RHS
     2691908608U, // <4,1,3,5>: Cost 3 vext3 <1,2,3,4>, <1,3,5,7>
     2588725862U, // <4,1,3,6>: Cost 3 vext1 <6,4,1,3>, <6,4,1,3>
-    3662468090U, // <4,1,3,7>: Cost 4 vext1 <6,4,1,3>, <7,0,1,2>
+    3912893440U, // <4,1,3,7>: Cost 4 vuzpr <3,4,0,1>, <1,3,5,7>
     2691908631U, // <4,1,3,u>: Cost 3 vext3 <1,2,3,4>, <1,3,u,3>
-    3760194590U, // <4,1,4,0>: Cost 4 vext3 <0,3,1,4>, <1,4,0,1>
-    3693947874U, // <4,1,4,1>: Cost 4 vext2 <0,4,4,1>, <4,1,5,0>
-    3765650484U, // <4,1,4,2>: Cost 4 vext3 <1,2,3,4>, <1,4,2,5>
-    3113877606U, // <4,1,4,3>: Cost 3 vtrnr <4,4,4,4>, LHS
-    3760194630U, // <4,1,4,4>: Cost 4 vext3 <0,3,1,4>, <1,4,4,5>
+    2600673382U, // <4,1,4,0>: Cost 3 vext1 <u,4,1,4>, LHS
+    2839153104U, // <4,1,4,1>: Cost 3 vuzpr <3,4,0,1>, <3,4,0,1>
+    2912641946U, // <4,1,4,2>: Cost 3 vzipl <4,4,5,6>, <1,2,3,4>
+    2040135782U, // <4,1,4,3>: Cost 2 vtrnr <4,4,4,4>, LHS
+    2600676560U, // <4,1,4,4>: Cost 3 vext1 <u,4,1,4>, <4,4,4,4>
     2622860598U, // <4,1,4,5>: Cost 3 vext2 <0,u,4,1>, RHS
-    3297436759U, // <4,1,4,6>: Cost 4 vrev <1,4,6,4>
-    3800007772U, // <4,1,4,7>: Cost 4 vext3 <7,0,1,4>, <1,4,7,0>
-    2622860841U, // <4,1,4,u>: Cost 3 vext2 <0,u,4,1>, RHS
-    1479164006U, // <4,1,5,0>: Cost 2 vext1 <0,4,1,5>, LHS
-    2552906486U, // <4,1,5,1>: Cost 3 vext1 <0,4,1,5>, <1,0,3,2>
-    2552907299U, // <4,1,5,2>: Cost 3 vext1 <0,4,1,5>, <2,1,3,5>
-    2552907926U, // <4,1,5,3>: Cost 3 vext1 <0,4,1,5>, <3,0,1,2>
+    2775444790U, // <4,1,4,6>: Cost 3 vuzpl <4,0,1,2>, RHS
+    3912894250U, // <4,1,4,7>: Cost 4 vuzpr <3,4,0,1>, <2,4,5,7>
+    2040135787U, // <4,1,4,u>: Cost 2 vtrnr <4,4,4,4>, LHS
+    1479164242U, // <4,1,5,0>: Cost 2 vext1 <0,4,1,5>, <0,4,1,5>
+    1839645492U, // <4,1,5,1>: Cost 2 vzipl RHS, <1,1,1,1>
+    1839645590U, // <4,1,5,2>: Cost 2 vzipl RHS, <1,2,3,0>
+    2016034918U, // <4,1,5,3>: Cost 2 vtrnr <0,4,1,5>, LHS
     1479167286U, // <4,1,5,4>: Cost 2 vext1 <0,4,1,5>, RHS
-    2913387664U, // <4,1,5,5>: Cost 3 vzipl RHS, <1,5,3,7>
-    2600686074U, // <4,1,5,6>: Cost 3 vext1 <u,4,1,5>, <6,2,7,3>
-    2600686586U, // <4,1,5,7>: Cost 3 vext1 <u,4,1,5>, <7,0,1,2>
+    1839645840U, // <4,1,5,5>: Cost 2 vzipl RHS, <1,5,3,7>
+    3089776763U, // <4,1,5,6>: Cost 3 vtrnr <0,4,1,5>, <0,1,4,6>
+    2839153974U, // <4,1,5,7>: Cost 3 vuzpr <3,4,0,1>, RHS
     1479169838U, // <4,1,5,u>: Cost 2 vext1 <0,4,1,5>, LHS
-    2552914022U, // <4,1,6,0>: Cost 3 vext1 <0,4,1,6>, LHS
-    2558886708U, // <4,1,6,1>: Cost 3 vext1 <1,4,1,6>, <1,1,1,1>
-    4028205206U, // <4,1,6,2>: Cost 4 vzipr <0,2,4,6>, <3,0,1,2>
-    3089858662U, // <4,1,6,3>: Cost 3 vtrnr <0,4,2,6>, LHS
+    2552914259U, // <4,1,6,0>: Cost 3 vext1 <0,4,1,6>, <0,4,1,6>
+    1973863220U, // <4,1,6,1>: Cost 2 vtrnl RHS, <1,1,1,1>
+    2954463382U, // <4,1,6,2>: Cost 3 vzipr <0,2,4,6>, <3,0,1,2>
+    2016116838U, // <4,1,6,3>: Cost 2 vtrnr <0,4,2,6>, LHS
     2552917302U, // <4,1,6,4>: Cost 3 vext1 <0,4,1,6>, RHS
-    2223637584U, // <4,1,6,5>: Cost 3 vrev <1,4,5,6>
-    4121347081U, // <4,1,6,6>: Cost 4 vtrnl RHS, <1,3,6,7>
-    3721155406U, // <4,1,6,7>: Cost 4 vext2 <5,0,4,1>, <6,7,0,1>
-    2552919854U, // <4,1,6,u>: Cost 3 vext1 <0,4,1,6>, LHS
+    1973863424U, // <4,1,6,5>: Cost 2 vtrnl RHS, <1,3,5,7>
+    3047605257U, // <4,1,6,6>: Cost 3 vtrnl RHS, <1,3,6,7>
+    2594723138U, // <4,1,6,7>: Cost 3 vext1 <7,4,1,6>, <7,4,1,6>
+    2016116843U, // <4,1,6,u>: Cost 2 vtrnr <0,4,2,6>, LHS
     2659357716U, // <4,1,7,0>: Cost 3 vext2 <7,0,4,1>, <7,0,4,1>
-    3733763173U, // <4,1,7,1>: Cost 4 vext2 <7,1,4,1>, <7,1,4,1>
-    3734426806U, // <4,1,7,2>: Cost 4 vext2 <7,2,4,1>, <7,2,4,1>
-    2695226671U, // <4,1,7,3>: Cost 3 vext3 <1,7,3,4>, <1,7,3,4>
-    3721155942U, // <4,1,7,4>: Cost 4 vext2 <5,0,4,1>, <7,4,5,6>
-    3721155976U, // <4,1,7,5>: Cost 4 vext2 <5,0,4,1>, <7,5,0,4>
-    3662500458U, // <4,1,7,6>: Cost 4 vext1 <6,4,1,7>, <6,4,1,7>
-    3721156204U, // <4,1,7,7>: Cost 4 vext2 <5,0,4,1>, <7,7,7,7>
-    2659357716U, // <4,1,7,u>: Cost 3 vext2 <7,0,4,1>, <7,0,4,1>
-    1479188582U, // <4,1,u,0>: Cost 2 vext1 <0,4,1,u>, LHS
-    2552931062U, // <4,1,u,1>: Cost 3 vext1 <0,4,1,u>, <1,0,3,2>
-    2552931944U, // <4,1,u,2>: Cost 3 vext1 <0,4,1,u>, <2,2,2,2>
-    1622148480U, // <4,1,u,3>: Cost 2 vext3 <1,u,3,4>, <1,u,3,4>
+    4169802548U, // <4,1,7,1>: Cost 4 vtrnr <1,4,5,7>, <1,1,1,1>
+    4042147990U, // <4,1,7,2>: Cost 4 vzipr <2,5,4,7>, <3,0,1,2>
+    3102031974U, // <4,1,7,3>: Cost 3 vtrnr <2,4,5,7>, LHS
+    2664666470U, // <4,1,7,4>: Cost 3 vext2 <7,u,4,1>, <7,4,5,6>
+    3297387601U, // <4,1,7,5>: Cost 4 vrev <1,4,5,7>
+    3853178218U, // <4,1,7,6>: Cost 4 vuzpl <4,6,1,3>, <7,4,6,1>
+    3853162092U, // <4,1,7,7>: Cost 4 vuzpl <4,6,1,1>, <7,7,7,7>
+    3102031979U, // <4,1,7,u>: Cost 3 vtrnr <2,4,5,7>, LHS
+    1479188821U, // <4,1,u,0>: Cost 2 vext1 <0,4,1,u>, <0,4,1,u>
+    1974010676U, // <4,1,u,1>: Cost 2 vtrnl RHS, <1,1,1,1>
+    1841636246U, // <4,1,u,2>: Cost 2 vzipl RHS, <1,2,3,0>
+    2016059494U, // <4,1,u,3>: Cost 2 vtrnr <0,4,1,u>, LHS
     1479191862U, // <4,1,u,4>: Cost 2 vext1 <0,4,1,u>, RHS
-    2622863514U, // <4,1,u,5>: Cost 3 vext2 <0,u,4,1>, RHS
-    2588725862U, // <4,1,u,6>: Cost 3 vext1 <6,4,1,3>, <6,4,1,3>
-    2600686586U, // <4,1,u,7>: Cost 3 vext1 <u,4,1,5>, <7,0,1,2>
+    1974010880U, // <4,1,u,5>: Cost 2 vtrnl RHS, <1,3,5,7>
+    2775447706U, // <4,1,u,6>: Cost 3 vuzpl <4,0,1,2>, RHS
+    2839154217U, // <4,1,u,7>: Cost 3 vuzpr <3,4,0,1>, RHS
     1479194414U, // <4,1,u,u>: Cost 2 vext1 <0,4,1,u>, LHS
-    2617557030U, // <4,2,0,0>: Cost 3 vext2 <0,0,4,2>, <0,0,4,2>
+    3047786150U, // <4,2,0,0>: Cost 3 vtrnl <4,6,0,2>, <2,3,0,1>
     2622865510U, // <4,2,0,1>: Cost 3 vext2 <0,u,4,2>, LHS
     2622865612U, // <4,2,0,2>: Cost 3 vext2 <0,u,4,2>, <0,2,4,6>
-    3693289753U, // <4,2,0,3>: Cost 4 vext2 <0,3,4,2>, <0,3,4,2>
+    2967019622U, // <4,2,0,3>: Cost 3 vzipr <2,3,4,0>, LHS
     2635473244U, // <4,2,0,4>: Cost 3 vext2 <3,0,4,2>, <0,4,2,6>
-    3765650918U, // <4,2,0,5>: Cost 4 vext3 <1,2,3,4>, <2,0,5,7>
+    2909947747U, // <4,2,0,5>: Cost 3 vzipl <4,0,5,1>, <2,5,3,1>
     2696775148U, // <4,2,0,6>: Cost 3 vext3 <2,0,6,4>, <2,0,6,4>
-    3695944285U, // <4,2,0,7>: Cost 4 vext2 <0,7,4,2>, <0,7,4,2>
-    2622866077U, // <4,2,0,u>: Cost 3 vext2 <0,u,4,2>, LHS
+    4121528199U, // <4,2,0,7>: Cost 4 vtrnl <4,6,0,2>, <2,5,7,1>
+    2622866094U, // <4,2,0,u>: Cost 3 vext2 <0,u,4,2>, <0,u,4,2>
     3696607990U, // <4,2,1,0>: Cost 4 vext2 <0,u,4,2>, <1,0,3,2>
-    3696608052U, // <4,2,1,1>: Cost 4 vext2 <0,u,4,2>, <1,1,1,1>
-    3696608150U, // <4,2,1,2>: Cost 4 vext2 <0,u,4,2>, <1,2,3,0>
-    3895574630U, // <4,2,1,3>: Cost 4 vuzpr <0,4,u,2>, LHS
+    3894985524U, // <4,2,1,1>: Cost 4 vuzpr <0,4,0,2>, <1,1,1,1>
+    4032143380U, // <4,2,1,2>: Cost 4 vzipr <0,u,4,1>, <0,0,2,2>
+    2821242982U, // <4,2,1,3>: Cost 3 vuzpr <0,4,0,2>, LHS
     2691909162U, // <4,2,1,4>: Cost 3 vext3 <1,2,3,4>, <2,1,4,3>
     3696608400U, // <4,2,1,5>: Cost 4 vext2 <0,u,4,2>, <1,5,3,7>
-    3760784956U, // <4,2,1,6>: Cost 4 vext3 <0,4,0,4>, <2,1,6,3>
-    3773908549U, // <4,2,1,7>: Cost 5 vext3 <2,5,7,4>, <2,1,7,3>
-    2691909162U, // <4,2,1,u>: Cost 3 vext3 <1,2,3,4>, <2,1,4,3>
-    3696608748U, // <4,2,2,0>: Cost 4 vext2 <0,u,4,2>, <2,0,6,4>
+    4163412172U, // <4,2,1,6>: Cost 4 vtrnr <0,4,0,1>, <0,2,4,6>
+    3303458614U, // <4,2,1,7>: Cost 4 vrev <2,4,7,1>
+    2821242987U, // <4,2,1,u>: Cost 3 vuzpr <0,4,0,2>, LHS
+    2229208824U, // <4,2,2,0>: Cost 3 vrev <2,4,0,2>
     3696608828U, // <4,2,2,1>: Cost 4 vext2 <0,u,4,2>, <2,1,6,3>
     2691909224U, // <4,2,2,2>: Cost 3 vext3 <1,2,3,4>, <2,2,2,2>
-    2691909234U, // <4,2,2,3>: Cost 3 vext3 <1,2,3,4>, <2,2,3,3>
-    3759605368U, // <4,2,2,4>: Cost 4 vext3 <0,2,2,4>, <2,2,4,0>
+    2958409830U, // <4,2,2,3>: Cost 3 vzipr <0,u,4,2>, LHS
+    2697954940U, // <4,2,2,4>: Cost 3 vext3 <2,2,4,4>, <2,2,4,4>
     3696609156U, // <4,2,2,5>: Cost 4 vext2 <0,u,4,2>, <2,5,6,7>
-    3760785040U, // <4,2,2,6>: Cost 4 vext3 <0,4,0,4>, <2,2,6,6>
-    3668505927U, // <4,2,2,7>: Cost 4 vext1 <7,4,2,2>, <7,4,2,2>
-    2691909279U, // <4,2,2,u>: Cost 3 vext3 <1,2,3,4>, <2,2,u,3>
+    2821243084U, // <4,2,2,6>: Cost 3 vuzpr <0,4,0,2>, <0,2,4,6>
+    4163423290U, // <4,2,2,7>: Cost 4 vtrnr <0,4,0,2>, <4,2,5,7>
+    2958409835U, // <4,2,2,u>: Cost 3 vzipr <0,u,4,2>, LHS
     2691909286U, // <4,2,3,0>: Cost 3 vext3 <1,2,3,4>, <2,3,0,1>
-    3764840111U, // <4,2,3,1>: Cost 4 vext3 <1,1,1,4>, <2,3,1,1>
-    3765651129U, // <4,2,3,2>: Cost 4 vext3 <1,2,3,4>, <2,3,2,2>
-    2698544836U, // <4,2,3,3>: Cost 3 vext3 <2,3,3,4>, <2,3,3,4>
+    2229290754U, // <4,2,3,1>: Cost 3 vrev <2,4,1,3>
+    3626706546U, // <4,2,3,2>: Cost 4 vext1 <0,4,2,3>, <2,2,3,3>
+    2691909316U, // <4,2,3,3>: Cost 3 vext3 <1,2,3,4>, <2,3,3,4>
     2685863630U, // <4,2,3,4>: Cost 3 vext3 <0,2,2,4>, <2,3,4,5>
-    2698692310U, // <4,2,3,5>: Cost 3 vext3 <2,3,5,4>, <2,3,5,4>
-    3772507871U, // <4,2,3,6>: Cost 4 vext3 <2,3,6,4>, <2,3,6,4>
+    2833188558U, // <4,2,3,5>: Cost 3 vuzpr <2,4,0,2>, <2,3,4,5>
+    3894985700U, // <4,2,3,6>: Cost 4 vuzpr <0,4,0,2>, <1,3,2,6>
     2698839784U, // <4,2,3,7>: Cost 3 vext3 <2,3,7,4>, <2,3,7,4>
     2691909358U, // <4,2,3,u>: Cost 3 vext3 <1,2,3,4>, <2,3,u,1>
     2564915302U, // <4,2,4,0>: Cost 3 vext1 <2,4,2,4>, LHS
     2564916122U, // <4,2,4,1>: Cost 3 vext1 <2,4,2,4>, <1,2,3,4>
-    2564917004U, // <4,2,4,2>: Cost 3 vext1 <2,4,2,4>, <2,4,2,4>
-    2699208469U, // <4,2,4,3>: Cost 3 vext3 <2,4,3,4>, <2,4,3,4>
+    2821243206U, // <4,2,4,2>: Cost 3 vuzpr <0,4,0,2>, <0,4,0,2>
+    1905918054U, // <4,2,4,3>: Cost 2 vzipr <4,4,4,4>, LHS
     2564918582U, // <4,2,4,4>: Cost 3 vext1 <2,4,2,4>, RHS
     2622868790U, // <4,2,4,5>: Cost 3 vext2 <0,u,4,2>, RHS
-    2229667632U, // <4,2,4,6>: Cost 3 vrev <2,4,6,4>
-    3800082229U, // <4,2,4,7>: Cost 4 vext3 <7,0,2,4>, <2,4,7,0>
-    2622869033U, // <4,2,4,u>: Cost 3 vext2 <0,u,4,2>, RHS
-    2552979558U, // <4,2,5,0>: Cost 3 vext1 <0,4,2,5>, LHS
-    2558952342U, // <4,2,5,1>: Cost 3 vext1 <1,4,2,5>, <1,2,3,0>
-    2564925032U, // <4,2,5,2>: Cost 3 vext1 <2,4,2,5>, <2,2,2,2>
-    2967060582U, // <4,2,5,3>: Cost 3 vzipr <2,3,4,5>, LHS
-    2552982838U, // <4,2,5,4>: Cost 3 vext1 <0,4,2,5>, RHS
-    3987130190U, // <4,2,5,5>: Cost 4 vzipl RHS, <2,5,0,7>
-    2913388474U, // <4,2,5,6>: Cost 3 vzipl RHS, <2,6,3,7>
-    3895577910U, // <4,2,5,7>: Cost 4 vuzpr <0,4,u,2>, RHS
-    2552985390U, // <4,2,5,u>: Cost 3 vext1 <0,4,2,5>, LHS
-    1479245926U, // <4,2,6,0>: Cost 2 vext1 <0,4,2,6>, LHS
+    3089694924U, // <4,2,4,6>: Cost 3 vtrnr <0,4,0,4>, <0,2,4,6>
+    3912976170U, // <4,2,4,7>: Cost 4 vuzpr <3,4,1,2>, <2,4,5,7>
+    1905918059U, // <4,2,4,u>: Cost 2 vzipr <4,4,4,4>, LHS
+    3089777558U, // <4,2,5,0>: Cost 3 vtrnr <0,4,1,5>, <1,2,3,0>
+    2558952500U, // <4,2,5,1>: Cost 3 vext1 <1,4,2,5>, <1,4,2,5>
+    1839646312U, // <4,2,5,2>: Cost 2 vzipl RHS, <2,2,2,2>
+    1893318758U, // <4,2,5,3>: Cost 2 vzipr <2,3,4,5>, LHS
+    3089777562U, // <4,2,5,4>: Cost 3 vtrnr <0,4,1,5>, <1,2,3,4>
+    2913388366U, // <4,2,5,5>: Cost 3 vzipl RHS, <2,5,0,7>
+    1839646650U, // <4,2,5,6>: Cost 2 vzipl RHS, <2,6,3,7>
+    2821246262U, // <4,2,5,7>: Cost 3 vuzpr <0,4,0,2>, RHS
+    1893318763U, // <4,2,5,u>: Cost 2 vzipr <2,3,4,5>, LHS
+    1479246172U, // <4,2,6,0>: Cost 2 vext1 <0,4,2,6>, <0,4,2,6>
     2552988406U, // <4,2,6,1>: Cost 3 vext1 <0,4,2,6>, <1,0,3,2>
-    2552989288U, // <4,2,6,2>: Cost 3 vext1 <0,4,2,6>, <2,2,2,2>
-    2954461286U, // <4,2,6,3>: Cost 3 vzipr <0,2,4,6>, LHS
+    1973864040U, // <4,2,6,2>: Cost 2 vtrnl RHS, <2,2,2,2>
+    1880719462U, // <4,2,6,3>: Cost 2 vzipr <0,2,4,6>, LHS
     1479249206U, // <4,2,6,4>: Cost 2 vext1 <0,4,2,6>, RHS
     2229610281U, // <4,2,6,5>: Cost 3 vrev <2,4,5,6>
-    2600767994U, // <4,2,6,6>: Cost 3 vext1 <u,4,2,6>, <6,2,7,3>
-    2600768506U, // <4,2,6,7>: Cost 3 vext1 <u,4,2,6>, <7,0,1,2>
-    1479251758U, // <4,2,6,u>: Cost 2 vext1 <0,4,2,6>, LHS
+    2954461532U, // <4,2,6,6>: Cost 3 vzipr <0,2,4,6>, <0,4,2,6>
+    2658702198U, // <4,2,6,7>: Cost 3 vext2 <6,u,4,2>, <6,7,4,5>
+    1880719467U, // <4,2,6,u>: Cost 2 vzipr <0,2,4,6>, LHS
     2659365909U, // <4,2,7,0>: Cost 3 vext2 <7,0,4,2>, <7,0,4,2>
-    3733771366U, // <4,2,7,1>: Cost 4 vext2 <7,1,4,2>, <7,1,4,2>
-    3734434999U, // <4,2,7,2>: Cost 4 vext2 <7,2,4,2>, <7,2,4,2>
-    2701199368U, // <4,2,7,3>: Cost 3 vext3 <2,7,3,4>, <2,7,3,4>
-    4175774618U, // <4,2,7,4>: Cost 4 vtrnr <2,4,5,7>, <1,2,3,4>
-    3303360298U, // <4,2,7,5>: Cost 4 vrev <2,4,5,7>
-    3727136217U, // <4,2,7,6>: Cost 4 vext2 <6,0,4,2>, <7,6,0,4>
-    3727136364U, // <4,2,7,7>: Cost 4 vext2 <6,0,4,2>, <7,7,7,7>
-    2659365909U, // <4,2,7,u>: Cost 3 vext2 <7,0,4,2>, <7,0,4,2>
-    1479262310U, // <4,2,u,0>: Cost 2 vext1 <0,4,2,u>, LHS
+    3853227002U, // <4,2,7,1>: Cost 4 vuzpl <4,6,2,0>, <7,0,1,2>
+    4175773860U, // <4,2,7,2>: Cost 4 vtrnr <2,4,5,7>, <0,2,0,2>
+    2968404070U, // <4,2,7,3>: Cost 3 vzipr <2,5,4,7>, LHS
+    3102032794U, // <4,2,7,4>: Cost 3 vtrnr <2,4,5,7>, <1,2,3,4>
+    2229618474U, // <4,2,7,5>: Cost 3 vrev <2,4,5,7>
+    4175773900U, // <4,2,7,6>: Cost 4 vtrnr <2,4,5,7>, <0,2,4,6>
+    3853227628U, // <4,2,7,7>: Cost 4 vuzpl <4,6,2,0>, <7,7,7,7>
+    2229839685U, // <4,2,7,u>: Cost 3 vrev <2,4,u,7>
+    1479262558U, // <4,2,u,0>: Cost 2 vext1 <0,4,2,u>, <0,4,2,u>
     2553004790U, // <4,2,u,1>: Cost 3 vext1 <0,4,2,u>, <1,0,3,2>
-    2553005672U, // <4,2,u,2>: Cost 3 vext1 <0,4,2,u>, <2,2,2,2>
-    2954477670U, // <4,2,u,3>: Cost 3 vzipr <0,2,4,u>, LHS
+    1974011496U, // <4,2,u,2>: Cost 2 vtrnl RHS, <2,2,2,2>
+    1880735846U, // <4,2,u,3>: Cost 2 vzipr <0,2,4,u>, LHS
     1479265590U, // <4,2,u,4>: Cost 2 vext1 <0,4,2,u>, RHS
     2622871706U, // <4,2,u,5>: Cost 3 vext2 <0,u,4,2>, RHS
-    2229700404U, // <4,2,u,6>: Cost 3 vrev <2,4,6,u>
-    2600784890U, // <4,2,u,7>: Cost 3 vext1 <u,4,2,u>, <7,0,1,2>
-    1479268142U, // <4,2,u,u>: Cost 2 vext1 <0,4,2,u>, LHS
-    3765651595U, // <4,3,0,0>: Cost 4 vext3 <1,2,3,4>, <3,0,0,0>
+    1841637306U, // <4,2,u,6>: Cost 2 vzipl RHS, <2,6,3,7>
+    2821246505U, // <4,2,u,7>: Cost 3 vuzpr <0,4,0,2>, RHS
+    1880735851U, // <4,2,u,u>: Cost 2 vzipr <0,2,4,u>, LHS
+    2909948054U, // <4,3,0,0>: Cost 3 vzipl <4,0,5,1>, <3,0,1,2>
     2691909782U, // <4,3,0,1>: Cost 3 vext3 <1,2,3,4>, <3,0,1,2>
     2702452897U, // <4,3,0,2>: Cost 3 vext3 <3,0,2,4>, <3,0,2,4>
-    3693297946U, // <4,3,0,3>: Cost 4 vext2 <0,3,4,3>, <0,3,4,3>
-    3760711856U, // <4,3,0,4>: Cost 4 vext3 <0,3,u,4>, <3,0,4,1>
+    3047786908U, // <4,3,0,3>: Cost 3 vtrnl <4,6,0,2>, <3,3,3,3>
+    2967020442U, // <4,3,0,4>: Cost 3 vzipr <2,3,4,0>, <1,2,3,4>
     2235533820U, // <4,3,0,5>: Cost 3 vrev <3,4,5,0>
-    3309349381U, // <4,3,0,6>: Cost 4 vrev <3,4,6,0>
-    3668563278U, // <4,3,0,7>: Cost 4 vext1 <7,4,3,0>, <7,4,3,0>
+    2235607557U, // <4,3,0,6>: Cost 3 vrev <3,4,6,0>
+    4040762512U, // <4,3,0,7>: Cost 4 vzipr <2,3,4,0>, <1,5,3,7>
     2691909845U, // <4,3,0,u>: Cost 3 vext3 <1,2,3,4>, <3,0,u,2>
     2235173328U, // <4,3,1,0>: Cost 3 vrev <3,4,0,1>
     3764840678U, // <4,3,1,1>: Cost 4 vext3 <1,1,1,4>, <3,1,1,1>
     2630173594U, // <4,3,1,2>: Cost 3 vext2 <2,1,4,3>, <1,2,3,4>
-    2703190267U, // <4,3,1,3>: Cost 3 vext3 <3,1,3,4>, <3,1,3,4>
-    3760195840U, // <4,3,1,4>: Cost 4 vext3 <0,3,1,4>, <3,1,4,0>
-    3765651724U, // <4,3,1,5>: Cost 4 vext3 <1,2,3,4>, <3,1,5,3>
-    3309357574U, // <4,3,1,6>: Cost 4 vrev <3,4,6,1>
-    3769633054U, // <4,3,1,7>: Cost 4 vext3 <1,u,3,4>, <3,1,7,3>
-    2703558952U, // <4,3,1,u>: Cost 3 vext3 <3,1,u,4>, <3,1,u,4>
-    3626770534U, // <4,3,2,0>: Cost 4 vext1 <0,4,3,2>, LHS
+    2833268838U, // <4,3,1,3>: Cost 3 vuzpr <2,4,1,3>, LHS
+    2967028634U, // <4,3,1,4>: Cost 3 vzipr <2,3,4,1>, <1,2,3,4>
+    4032144445U, // <4,3,1,5>: Cost 4 vzipr <0,u,4,1>, <1,4,3,5>
+    3777153302U, // <4,3,1,6>: Cost 4 vext3 <3,1,6,4>, <3,1,6,4>
+    4032144528U, // <4,3,1,7>: Cost 4 vzipr <0,u,4,1>, <1,5,3,7>
+    2833268843U, // <4,3,1,u>: Cost 3 vuzpr <2,4,1,3>, LHS
+    3626770785U, // <4,3,2,0>: Cost 4 vext1 <0,4,3,2>, <0,4,3,2>
     2630174250U, // <4,3,2,1>: Cost 3 vext2 <2,1,4,3>, <2,1,4,3>
-    3765651777U, // <4,3,2,2>: Cost 4 vext3 <1,2,3,4>, <3,2,2,2>
+    4032152310U, // <4,3,2,2>: Cost 4 vzipr <0,u,4,2>, <1,0,3,2>
     2703853900U, // <4,3,2,3>: Cost 3 vext3 <3,2,3,4>, <3,2,3,4>
-    3626773814U, // <4,3,2,4>: Cost 4 vext1 <0,4,3,2>, RHS
-    2704001374U, // <4,3,2,5>: Cost 3 vext3 <3,2,5,4>, <3,2,5,4>
-    3765651814U, // <4,3,2,6>: Cost 4 vext3 <1,2,3,4>, <3,2,6,3>
-    3769633135U, // <4,3,2,7>: Cost 4 vext3 <1,u,3,4>, <3,2,7,3>
+    2833269658U, // <4,3,2,4>: Cost 3 vuzpr <2,4,1,3>, <1,2,3,4>
+    3101624014U, // <4,3,2,5>: Cost 3 vtrnr <2,4,0,2>, <2,3,4,5>
+    4163421156U, // <4,3,2,6>: Cost 4 vtrnr <0,4,0,2>, <1,3,2,6>
+    4163421184U, // <4,3,2,7>: Cost 4 vtrnr <0,4,0,2>, <1,3,5,7>
     2634819681U, // <4,3,2,u>: Cost 3 vext2 <2,u,4,3>, <2,u,4,3>
-    3765651839U, // <4,3,3,0>: Cost 4 vext3 <1,2,3,4>, <3,3,0,1>
-    3765651848U, // <4,3,3,1>: Cost 4 vext3 <1,2,3,4>, <3,3,1,1>
-    3710552404U, // <4,3,3,2>: Cost 4 vext2 <3,2,4,3>, <3,2,4,3>
+    2911930518U, // <4,3,3,0>: Cost 3 vzipl <4,3,5,0>, <3,0,1,2>
+    2779564182U, // <4,3,3,1>: Cost 3 vuzpl <4,6,3,1>, <3,0,1,2>
+    2636810580U, // <4,3,3,2>: Cost 3 vext2 <3,2,4,3>, <3,2,4,3>
     2691910044U, // <4,3,3,3>: Cost 3 vext3 <1,2,3,4>, <3,3,3,3>
-    2704591270U, // <4,3,3,4>: Cost 3 vext3 <3,3,4,4>, <3,3,4,4>
-    3769633202U, // <4,3,3,5>: Cost 4 vext3 <1,u,3,4>, <3,3,5,7>
+    2965717914U, // <4,3,3,4>: Cost 3 vzipr <2,1,4,3>, <1,2,3,4>
+    2779597314U, // <4,3,3,5>: Cost 3 vuzpl <4,6,3,5>, <3,4,5,6>
     3703917212U, // <4,3,3,6>: Cost 4 vext2 <2,1,4,3>, <3,6,4,7>
     3769633220U, // <4,3,3,7>: Cost 4 vext3 <1,u,3,4>, <3,3,7,7>
-    2691910044U, // <4,3,3,u>: Cost 3 vext3 <1,2,3,4>, <3,3,3,3>
+    2640792378U, // <4,3,3,u>: Cost 3 vext2 <3,u,4,3>, <3,u,4,3>
     2691910096U, // <4,3,4,0>: Cost 3 vext3 <1,2,3,4>, <3,4,0,1>
     2691910106U, // <4,3,4,1>: Cost 3 vext3 <1,2,3,4>, <3,4,1,2>
     2564990741U, // <4,3,4,2>: Cost 3 vext1 <2,4,3,4>, <2,4,3,4>
-    3765651946U, // <4,3,4,3>: Cost 4 vext3 <1,2,3,4>, <3,4,3,0>
+    2833270530U, // <4,3,4,3>: Cost 3 vuzpr <2,4,1,3>, <2,4,1,3>
     2691910136U, // <4,3,4,4>: Cost 3 vext3 <1,2,3,4>, <3,4,4,5>
     2686454274U, // <4,3,4,5>: Cost 3 vext3 <0,3,1,4>, <3,4,5,6>
-    2235640329U, // <4,3,4,6>: Cost 3 vrev <3,4,6,4>
-    3801483792U, // <4,3,4,7>: Cost 4 vext3 <7,2,3,4>, <3,4,7,2>
+    2779565366U, // <4,3,4,6>: Cost 3 vuzpl <4,6,3,1>, RHS
+    2979660944U, // <4,3,4,7>: Cost 3 vzipr <4,4,4,4>, <1,5,3,7>
     2691910168U, // <4,3,4,u>: Cost 3 vext3 <1,2,3,4>, <3,4,u,1>
-    2559025254U, // <4,3,5,0>: Cost 3 vext1 <1,4,3,5>, LHS
-    2559026237U, // <4,3,5,1>: Cost 3 vext1 <1,4,3,5>, <1,4,3,5>
-    2564998862U, // <4,3,5,2>: Cost 3 vext1 <2,4,3,5>, <2,3,4,5>
-    2570971548U, // <4,3,5,3>: Cost 3 vext1 <3,4,3,5>, <3,3,3,3>
-    2559028534U, // <4,3,5,4>: Cost 3 vext1 <1,4,3,5>, RHS
-    4163519477U, // <4,3,5,5>: Cost 4 vtrnr <0,4,1,5>, <1,3,4,5>
-    3309390346U, // <4,3,5,6>: Cost 4 vrev <3,4,6,5>
-    2706139747U, // <4,3,5,7>: Cost 3 vext3 <3,5,7,4>, <3,5,7,4>
-    2559031086U, // <4,3,5,u>: Cost 3 vext1 <1,4,3,5>, LHS
-    2559033446U, // <4,3,6,0>: Cost 3 vext1 <1,4,3,6>, LHS
-    2559034430U, // <4,3,6,1>: Cost 3 vext1 <1,4,3,6>, <1,4,3,6>
-    2565007127U, // <4,3,6,2>: Cost 3 vext1 <2,4,3,6>, <2,4,3,6>
-    2570979740U, // <4,3,6,3>: Cost 3 vext1 <3,4,3,6>, <3,3,3,3>
-    2559036726U, // <4,3,6,4>: Cost 3 vext1 <1,4,3,6>, RHS
+    1839646870U, // <4,3,5,0>: Cost 2 vzipl RHS, <3,0,1,2>
+    3089778342U, // <4,3,5,1>: Cost 3 vtrnr <0,4,1,5>, <2,3,0,1>
+    2967061238U, // <4,3,5,2>: Cost 3 vzipr <2,3,4,5>, <1,0,3,2>
+    1839647132U, // <4,3,5,3>: Cost 2 vzipl RHS, <3,3,3,3>
+    1839647234U, // <4,3,5,4>: Cost 2 vzipl RHS, <3,4,5,6>
+    3089777653U, // <4,3,5,5>: Cost 3 vtrnr <0,4,1,5>, <1,3,4,5>
+    2913389176U, // <4,3,5,6>: Cost 3 vzipl RHS, <3,6,0,7>
+    3089777664U, // <4,3,5,7>: Cost 3 vtrnr <0,4,1,5>, <1,3,5,7>
+    1839647518U, // <4,3,5,u>: Cost 2 vzipl RHS, <3,u,1,2>
+    2954462102U, // <4,3,6,0>: Cost 3 vzipr <0,2,4,6>, <1,2,3,0>
+    1973864598U, // <4,3,6,1>: Cost 2 vtrnl RHS, <3,0,1,2>
+    2954461942U, // <4,3,6,2>: Cost 3 vzipr <0,2,4,6>, <1,0,3,2>
+    1973864860U, // <4,3,6,3>: Cost 2 vtrnl RHS, <3,3,3,3>
+    2954462106U, // <4,3,6,4>: Cost 3 vzipr <0,2,4,6>, <1,2,3,4>
     1161841154U, // <4,3,6,5>: Cost 2 vrev <3,4,5,6>
-    4028203932U, // <4,3,6,6>: Cost 4 vzipr <0,2,4,6>, <1,2,3,6>
-    2706803380U, // <4,3,6,7>: Cost 3 vext3 <3,6,7,4>, <3,6,7,4>
+    2954462108U, // <4,3,6,6>: Cost 3 vzipr <0,2,4,6>, <1,2,3,6>
+    2954462352U, // <4,3,6,7>: Cost 3 vzipr <0,2,4,6>, <1,5,3,7>
     1162062365U, // <4,3,6,u>: Cost 2 vrev <3,4,u,6>
     3769633475U, // <4,3,7,0>: Cost 4 vext3 <1,u,3,4>, <3,7,0,1>
-    3769633488U, // <4,3,7,1>: Cost 4 vext3 <1,u,3,4>, <3,7,1,5>
-    3638757144U, // <4,3,7,2>: Cost 4 vext1 <2,4,3,7>, <2,4,3,7>
+    3769633486U, // <4,3,7,1>: Cost 4 vext3 <1,u,3,4>, <3,7,1,3>
+    2660701368U, // <4,3,7,2>: Cost 3 vext2 <7,2,4,3>, <7,2,4,3>
     3769633508U, // <4,3,7,3>: Cost 4 vext3 <1,u,3,4>, <3,7,3,7>
-    3769633515U, // <4,3,7,4>: Cost 4 vext3 <1,u,3,4>, <3,7,4,5>
+    2968404890U, // <4,3,7,4>: Cost 3 vzipr <2,5,4,7>, <1,2,3,4>
     3769633526U, // <4,3,7,5>: Cost 4 vext3 <1,u,3,4>, <3,7,5,7>
-    3662647932U, // <4,3,7,6>: Cost 4 vext1 <6,4,3,7>, <6,4,3,7>
-    3781208837U, // <4,3,7,7>: Cost 4 vext3 <3,7,7,4>, <3,7,7,4>
-    3769633547U, // <4,3,7,u>: Cost 4 vext3 <1,u,3,4>, <3,7,u,1>
-    2559049830U, // <4,3,u,0>: Cost 3 vext1 <1,4,3,u>, LHS
-    2691910430U, // <4,3,u,1>: Cost 3 vext3 <1,2,3,4>, <3,u,1,2>
-    2565023513U, // <4,3,u,2>: Cost 3 vext1 <2,4,3,u>, <2,4,3,u>
-    2707835698U, // <4,3,u,3>: Cost 3 vext3 <3,u,3,4>, <3,u,3,4>
-    2559053110U, // <4,3,u,4>: Cost 3 vext1 <1,4,3,u>, RHS
+    4048784828U, // <4,3,7,6>: Cost 4 vzipr <3,6,4,7>, <4,7,3,6>
+    4175627264U, // <4,3,7,7>: Cost 4 vtrnr <2,4,3,7>, <1,3,5,7>
+    2664683166U, // <4,3,7,u>: Cost 3 vext2 <7,u,4,3>, <7,u,4,3>
+    1841637526U, // <4,3,u,0>: Cost 2 vzipl RHS, <3,0,1,2>
+    1974012054U, // <4,3,u,1>: Cost 2 vtrnl RHS, <3,0,1,2>
+    2954478326U, // <4,3,u,2>: Cost 3 vzipr <0,2,4,u>, <1,0,3,2>
+    1974012316U, // <4,3,u,3>: Cost 2 vtrnl RHS, <3,3,3,3>
+    1841637890U, // <4,3,u,4>: Cost 2 vzipl RHS, <3,4,5,6>
     1161857540U, // <4,3,u,5>: Cost 2 vrev <3,4,5,u>
-    2235673101U, // <4,3,u,6>: Cost 3 vrev <3,4,6,u>
-    2708130646U, // <4,3,u,7>: Cost 3 vext3 <3,u,7,4>, <3,u,7,4>
+    3047754086U, // <4,3,u,6>: Cost 3 vtrnl RHS, <3,2,6,3>
+    2954478736U, // <4,3,u,7>: Cost 3 vzipr <0,2,4,u>, <1,5,3,7>
     1162078751U, // <4,3,u,u>: Cost 2 vrev <3,4,u,u>
-    2617573416U, // <4,4,0,0>: Cost 3 vext2 <0,0,4,4>, <0,0,4,4>
+    1974046028U, // <4,4,0,0>: Cost 2 vtrnl <4,6,0,2>, <4,6,0,2>
     1570373734U, // <4,4,0,1>: Cost 2 vext2 <4,4,4,4>, LHS
-    2779676774U, // <4,4,0,2>: Cost 3 vuzpl <4,6,4,6>, LHS
+    1705934950U, // <4,4,0,2>: Cost 2 vuzpl <4,6,4,6>, LHS
     3760196480U, // <4,4,0,3>: Cost 4 vext3 <0,3,1,4>, <4,0,3,1>
-    2576977100U, // <4,4,0,4>: Cost 3 vext1 <4,4,4,0>, <4,4,4,0>
-    2718747538U, // <4,4,0,5>: Cost 3 vext3 <5,6,7,4>, <4,0,5,1>
-    2718747548U, // <4,4,0,6>: Cost 3 vext3 <5,6,7,4>, <4,0,6,2>
-    3668637015U, // <4,4,0,7>: Cost 4 vext1 <7,4,4,0>, <7,4,4,0>
-    1570374301U, // <4,4,0,u>: Cost 2 vext2 <4,4,4,4>, LHS
+    2778333388U, // <4,4,0,4>: Cost 3 vuzpl <4,4,4,4>, <0,2,4,6>
+    1836207414U, // <4,4,0,5>: Cost 2 vzipl <4,0,5,1>, RHS
+    1974046006U, // <4,4,0,6>: Cost 2 vtrnl <4,6,0,2>, RHS
+    4040763250U, // <4,4,0,7>: Cost 4 vzipr <2,3,4,0>, <2,5,4,7>
+    1974046024U, // <4,4,0,u>: Cost 2 vtrnl <4,6,0,2>, RHS
     2644116214U, // <4,4,1,0>: Cost 3 vext2 <4,4,4,4>, <1,0,3,2>
-    2644116276U, // <4,4,1,1>: Cost 3 vext2 <4,4,4,4>, <1,1,1,1>
+    2958402221U, // <4,4,1,1>: Cost 3 vzipr <0,u,4,1>, <0,u,4,1>
     2691910602U, // <4,4,1,2>: Cost 3 vext3 <1,2,3,4>, <4,1,2,3>
-    2644116440U, // <4,4,1,3>: Cost 3 vext2 <4,4,4,4>, <1,3,1,3>
-    2711227356U, // <4,4,1,4>: Cost 3 vext3 <4,4,4,4>, <4,1,4,3>
-    2709310438U, // <4,4,1,5>: Cost 3 vext3 <4,1,5,4>, <4,1,5,4>
-    3765652462U, // <4,4,1,6>: Cost 4 vext3 <1,2,3,4>, <4,1,6,3>
-    3768970231U, // <4,4,1,7>: Cost 4 vext3 <1,7,3,4>, <4,1,7,3>
-    2695891968U, // <4,4,1,u>: Cost 3 vext3 <1,u,3,4>, <4,1,u,3>
-    3703260634U, // <4,4,2,0>: Cost 4 vext2 <2,0,4,4>, <2,0,4,4>
+    1771700326U, // <4,4,1,3>: Cost 2 vuzpr <4,4,4,4>, LHS
+    2644116540U, // <4,4,1,4>: Cost 3 vext2 <4,4,4,4>, <1,4,3,4>
+    2910407990U, // <4,4,1,5>: Cost 3 vzipl <4,1,2,3>, RHS
+    3043880246U, // <4,4,1,6>: Cost 3 vtrnl <4,0,1,2>, RHS
+    4040771442U, // <4,4,1,7>: Cost 4 vzipr <2,3,4,1>, <2,5,4,7>
+    1771700331U, // <4,4,1,u>: Cost 2 vuzpr <4,4,4,4>, LHS
+    2779678374U, // <4,4,2,0>: Cost 3 vuzpl <4,6,4,6>, <2,3,0,1>
     3765652499U, // <4,4,2,1>: Cost 4 vext3 <1,2,3,4>, <4,2,1,4>
-    2644117096U, // <4,4,2,2>: Cost 3 vext2 <4,4,4,4>, <2,2,2,2>
+    3089678662U, // <4,4,2,2>: Cost 3 vtrnr <0,4,0,2>, <0,4,0,2>
     2631509709U, // <4,4,2,3>: Cost 3 vext2 <2,3,4,4>, <2,3,4,4>
-    2644117269U, // <4,4,2,4>: Cost 3 vext2 <4,4,4,4>, <2,4,3,4>
-    3705251698U, // <4,4,2,5>: Cost 4 vext2 <2,3,4,4>, <2,5,4,7>
-    2710047808U, // <4,4,2,6>: Cost 3 vext3 <4,2,6,4>, <4,2,6,4>
-    3783863369U, // <4,4,2,7>: Cost 4 vext3 <4,2,7,4>, <4,2,7,4>
-    2634827874U, // <4,4,2,u>: Cost 3 vext2 <2,u,4,4>, <2,u,4,4>
+    2833351578U, // <4,4,2,4>: Cost 3 vuzpr <2,4,2,4>, <1,2,3,4>
+    2970355406U, // <4,4,2,5>: Cost 3 vzipr <2,u,4,2>, <2,3,4,5>
+    2821259468U, // <4,4,2,6>: Cost 3 vuzpr <0,4,0,4>, <0,2,4,6>
+    4181411626U, // <4,4,2,7>: Cost 4 vtrnr <3,4,1,2>, <2,4,5,7>
+    2833793230U, // <4,4,2,u>: Cost 3 vuzpr <2,4,u,4>, <0,2,4,u>
     2644117654U, // <4,4,3,0>: Cost 3 vext2 <4,4,4,4>, <3,0,1,2>
-    3638797210U, // <4,4,3,1>: Cost 4 vext1 <2,4,4,3>, <1,2,3,4>
-    3638798082U, // <4,4,3,2>: Cost 4 vext1 <2,4,4,3>, <2,4,1,3>
-    2637482406U, // <4,4,3,3>: Cost 3 vext2 <3,3,4,4>, <3,3,4,4>
+    2779678870U, // <4,4,3,1>: Cost 3 vuzpl <4,6,4,6>, <3,0,1,2>
+    3704588628U, // <4,4,3,2>: Cost 4 vext2 <2,2,4,4>, <3,2,4,3>
+    2965718570U, // <4,4,3,3>: Cost 3 vzipr <2,1,4,3>, <2,1,4,3>
     2638146039U, // <4,4,3,4>: Cost 3 vext2 <3,4,4,4>, <3,4,4,4>
-    3913287374U, // <4,4,3,5>: Cost 4 vuzpr <3,4,5,4>, <2,3,4,5>
-    3765652625U, // <4,4,3,6>: Cost 4 vext3 <1,2,3,4>, <4,3,6,4>
-    3713878762U, // <4,4,3,7>: Cost 4 vext2 <3,7,4,4>, <3,7,4,4>
-    2637482406U, // <4,4,3,u>: Cost 3 vext2 <3,3,4,4>, <3,3,4,4>
+    2839545550U, // <4,4,3,5>: Cost 3 vuzpr <3,4,5,4>, <2,3,4,5>
+    3048000822U, // <4,4,3,6>: Cost 3 vtrnl <4,6,3,1>, RHS
+    2845443072U, // <4,4,3,7>: Cost 3 vuzpr <4,4,4,4>, <1,3,5,7>
+    2839766737U, // <4,4,3,u>: Cost 3 vuzpr <3,4,u,4>, <2,3,4,u>
     1503264870U, // <4,4,4,0>: Cost 2 vext1 <4,4,4,4>, LHS
-    2577007514U, // <4,4,4,1>: Cost 3 vext1 <4,4,4,4>, <1,2,3,4>
+    2577007350U, // <4,4,4,1>: Cost 3 vext1 <4,4,4,4>, <1,0,3,2>
     2577008232U, // <4,4,4,2>: Cost 3 vext1 <4,4,4,4>, <2,2,2,2>
     2571037175U, // <4,4,4,3>: Cost 3 vext1 <3,4,4,4>, <3,4,4,4>
     161926454U,  // <4,4,4,4>: Cost 1 vdup0 RHS
     1570377014U, // <4,4,4,5>: Cost 2 vext2 <4,4,4,4>, RHS
-    2779680054U, // <4,4,4,6>: Cost 3 vuzpl <4,6,4,6>, RHS
+    1705938230U, // <4,4,4,6>: Cost 2 vuzpl <4,6,4,6>, RHS
     2594927963U, // <4,4,4,7>: Cost 3 vext1 <7,4,4,4>, <7,4,4,4>
     161926454U,  // <4,4,4,u>: Cost 1 vdup0 RHS
-    2571042918U, // <4,4,5,0>: Cost 3 vext1 <3,4,4,5>, LHS
+    1839647634U, // <4,4,5,0>: Cost 2 vzipl RHS, <4,0,5,1>
     2571043738U, // <4,4,5,1>: Cost 3 vext1 <3,4,4,5>, <1,2,3,4>
-    3638814495U, // <4,4,5,2>: Cost 4 vext1 <2,4,4,5>, <2,4,4,5>
+    2913389621U, // <4,4,5,2>: Cost 3 vzipl RHS, <4,2,5,2>
     2571045368U, // <4,4,5,3>: Cost 3 vext1 <3,4,4,5>, <3,4,4,5>
-    2571046198U, // <4,4,5,4>: Cost 3 vext1 <3,4,4,5>, RHS
-    1839648054U, // <4,4,5,5>: Cost 2 vzipl RHS, RHS
+    1839647952U, // <4,4,5,4>: Cost 2 vzipl RHS, <4,4,4,4>
+    765906230U,  // <4,4,5,5>: Cost 1 vzipl RHS, RHS
     1618169142U, // <4,4,5,6>: Cost 2 vext3 <1,2,3,4>, RHS
-    2594936156U, // <4,4,5,7>: Cost 3 vext1 <7,4,4,5>, <7,4,4,5>
-    1618169160U, // <4,4,5,u>: Cost 2 vext3 <1,2,3,4>, RHS
-    2553135206U, // <4,4,6,0>: Cost 3 vext1 <0,4,4,6>, LHS
-    3626877686U, // <4,4,6,1>: Cost 4 vext1 <0,4,4,6>, <1,0,3,2>
-    2565080782U, // <4,4,6,2>: Cost 3 vext1 <2,4,4,6>, <2,3,4,5>
-    2571053561U, // <4,4,6,3>: Cost 3 vext1 <3,4,4,6>, <3,4,4,6>
-    2553138486U, // <4,4,6,4>: Cost 3 vext1 <0,4,4,6>, RHS
-    2241555675U, // <4,4,6,5>: Cost 3 vrev <4,4,5,6>
-    1973865782U, // <4,4,6,6>: Cost 2 vtrnl RHS, RHS
-    2658055029U, // <4,4,6,7>: Cost 3 vext2 <6,7,4,4>, <6,7,4,4>
-    1973865800U, // <4,4,6,u>: Cost 2 vtrnl RHS, RHS
+    1771703606U, // <4,4,5,7>: Cost 2 vuzpr <4,4,4,4>, RHS
+    765906473U,  // <4,4,5,u>: Cost 1 vzipl RHS, RHS
+    1973865804U, // <4,4,6,0>: Cost 2 vtrnl RHS, <4,6,0,2>
+    3047607151U, // <4,4,6,1>: Cost 3 vtrnl RHS, <4,0,1,2>
+    2565080864U, // <4,4,6,2>: Cost 3 vext1 <2,4,4,6>, <2,4,4,6>
+    3047607654U, // <4,4,6,3>: Cost 3 vtrnl RHS, <4,6,3,1>
+    1973865680U, // <4,4,6,4>: Cost 2 vtrnl RHS, <4,4,4,4>
+    1973865362U, // <4,4,6,5>: Cost 2 vtrnl RHS, <4,0,5,1>
+    900123958U,  // <4,4,6,6>: Cost 1 vtrnl RHS, RHS
+    3047607690U, // <4,4,6,7>: Cost 3 vtrnl RHS, <4,6,7,1>
+    900123976U,  // <4,4,6,u>: Cost 1 vtrnl RHS, RHS
     2644120570U, // <4,4,7,0>: Cost 3 vext2 <4,4,4,4>, <7,0,1,2>
-    3638829978U, // <4,4,7,1>: Cost 4 vext1 <2,4,4,7>, <1,2,3,4>
+    2779681786U, // <4,4,7,1>: Cost 3 vuzpl <4,6,4,6>, <7,0,1,2>
     3638830881U, // <4,4,7,2>: Cost 4 vext1 <2,4,4,7>, <2,4,4,7>
-    3735115018U, // <4,4,7,3>: Cost 4 vext2 <7,3,4,4>, <7,3,4,4>
+    2845446272U, // <4,4,7,3>: Cost 3 vuzpr <4,4,4,4>, <5,7,1,3>
     2662036827U, // <4,4,7,4>: Cost 3 vext2 <7,4,4,4>, <7,4,4,4>
-    2713292236U, // <4,4,7,5>: Cost 3 vext3 <4,7,5,4>, <4,7,5,4>
-    2713365973U, // <4,4,7,6>: Cost 3 vext3 <4,7,6,4>, <4,7,6,4>
-    2644121196U, // <4,4,7,7>: Cost 3 vext2 <4,4,4,4>, <7,7,7,7>
-    2662036827U, // <4,4,7,u>: Cost 3 vext2 <7,4,4,4>, <7,4,4,4>
-    1503297638U, // <4,4,u,0>: Cost 2 vext1 <4,4,4,u>, LHS
+    2779682150U, // <4,4,7,5>: Cost 3 vuzpl <4,6,4,6>, <7,4,5,6>
+    2779682157U, // <4,4,7,6>: Cost 3 vuzpl <4,6,4,6>, <7,4,6,4>
+    3102033706U, // <4,4,7,7>: Cost 3 vtrnr <2,4,5,7>, <2,4,5,7>
+    2779681849U, // <4,4,7,u>: Cost 3 vuzpl <4,6,4,6>, <7,0,u,2>
+    1974013260U, // <4,4,u,0>: Cost 2 vtrnl RHS, <4,6,0,2>
     1570379566U, // <4,4,u,1>: Cost 2 vext2 <4,4,4,4>, LHS
-    2779682606U, // <4,4,u,2>: Cost 3 vuzpl <4,6,4,6>, LHS
-    2571069947U, // <4,4,u,3>: Cost 3 vext1 <3,4,4,u>, <3,4,4,u>
+    1705940782U, // <4,4,u,2>: Cost 2 vuzpl <4,6,4,6>, LHS
+    1771700893U, // <4,4,u,3>: Cost 2 vuzpr <4,4,4,4>, LHS
     161926454U,  // <4,4,u,4>: Cost 1 vdup0 RHS
-    1841638710U, // <4,4,u,5>: Cost 2 vzipl RHS, RHS
-    1618169385U, // <4,4,u,6>: Cost 2 vext3 <1,2,3,4>, RHS
-    2594960735U, // <4,4,u,7>: Cost 3 vext1 <7,4,4,u>, <7,4,4,u>
-    161926454U,  // <4,4,u,u>: Cost 1 vdup0 RHS
-    2631516160U, // <4,5,0,0>: Cost 3 vext2 <2,3,4,5>, <0,0,0,0>
+    767896886U,  // <4,4,u,5>: Cost 1 vzipl RHS, RHS
+    900271414U,  // <4,4,u,6>: Cost 1 vtrnl RHS, RHS
+    1771703849U, // <4,4,u,7>: Cost 2 vuzpr <4,4,4,4>, RHS
+    900271432U,  // <4,4,u,u>: Cost 1 vtrnl RHS, RHS
+    2821341184U, // <4,5,0,0>: Cost 3 vuzpr <0,4,1,5>, <0,0,0,0>
     1557774438U, // <4,5,0,1>: Cost 2 vext2 <2,3,4,5>, LHS
-    2618908875U, // <4,5,0,2>: Cost 3 vext2 <0,2,4,5>, <0,2,4,5>
+    1707294822U, // <4,5,0,2>: Cost 2 vuzpl <4,u,5,1>, LHS
     2571078140U, // <4,5,0,3>: Cost 3 vext1 <3,4,5,0>, <3,4,5,0>
-    2626871634U, // <4,5,0,4>: Cost 3 vext2 <1,5,4,5>, <0,4,1,5>
-    3705258414U, // <4,5,0,5>: Cost 4 vext2 <2,3,4,5>, <0,5,2,7>
-    2594968438U, // <4,5,0,6>: Cost 3 vext1 <7,4,5,0>, <6,7,4,5>
-    2594968928U, // <4,5,0,7>: Cost 3 vext1 <7,4,5,0>, <7,4,5,0>
+    2821341197U, // <4,5,0,4>: Cost 3 vuzpr <0,4,1,5>, <0,0,1,4>
+    3047788548U, // <4,5,0,5>: Cost 3 vtrnl <4,6,0,2>, <5,5,5,5>
+    3047788716U, // <4,5,0,6>: Cost 3 vtrnl <4,6,0,2>, <5,7,6,2>
+    3102051638U, // <4,5,0,7>: Cost 3 vtrnr <2,4,6,0>, RHS
     1557775005U, // <4,5,0,u>: Cost 2 vext2 <2,3,4,5>, LHS
-    2631516918U, // <4,5,1,0>: Cost 3 vext2 <2,3,4,5>, <1,0,3,2>
-    2624217939U, // <4,5,1,1>: Cost 3 vext2 <1,1,4,5>, <1,1,4,5>
-    2631517078U, // <4,5,1,2>: Cost 3 vext2 <2,3,4,5>, <1,2,3,0>
-    2821341286U, // <4,5,1,3>: Cost 3 vuzpr <0,4,1,5>, LHS
-    3895086054U, // <4,5,1,4>: Cost 4 vuzpr <0,4,1,5>, <4,1,5,4>
-    2626872471U, // <4,5,1,5>: Cost 3 vext2 <1,5,4,5>, <1,5,4,5>
-    3895083131U, // <4,5,1,6>: Cost 4 vuzpr <0,4,1,5>, <0,1,4,6>
-    2718748368U, // <4,5,1,7>: Cost 3 vext3 <5,6,7,4>, <5,1,7,3>
-    2821341291U, // <4,5,1,u>: Cost 3 vuzpr <0,4,1,5>, LHS
-    2571092070U, // <4,5,2,0>: Cost 3 vext1 <3,4,5,2>, LHS
-    3699287585U, // <4,5,2,1>: Cost 4 vext2 <1,3,4,5>, <2,1,3,3>
-    2630854269U, // <4,5,2,2>: Cost 3 vext2 <2,2,4,5>, <2,2,4,5>
+    2821344226U, // <4,5,1,0>: Cost 3 vuzpr <0,4,1,5>, <4,1,5,0>
+    2821341266U, // <4,5,1,1>: Cost 3 vuzpr <0,4,1,5>, <0,1,0,1>
+    2821341267U, // <4,5,1,2>: Cost 3 vuzpr <0,4,1,5>, <0,1,0,2>
+    1747599462U, // <4,5,1,3>: Cost 2 vuzpr <0,4,1,5>, LHS
+    2821344230U, // <4,5,1,4>: Cost 3 vuzpr <0,4,1,5>, <4,1,5,4>
+    2821342755U, // <4,5,1,5>: Cost 3 vuzpr <0,4,1,5>, <2,1,3,5>
+    2821341307U, // <4,5,1,6>: Cost 3 vuzpr <0,4,1,5>, <0,1,4,6>
+    3107589430U, // <4,5,1,7>: Cost 3 vtrnr <3,4,0,1>, RHS
+    1747599467U, // <4,5,1,u>: Cost 2 vuzpr <0,4,1,5>, LHS
+    2821342102U, // <4,5,2,0>: Cost 3 vuzpr <0,4,1,5>, <1,2,3,0>
+    3692652056U, // <4,5,2,1>: Cost 4 vext2 <0,2,4,5>, <2,1,2,3>
+    2821341348U, // <4,5,2,2>: Cost 3 vuzpr <0,4,1,5>, <0,2,0,2>
     1557776078U, // <4,5,2,3>: Cost 2 vext2 <2,3,4,5>, <2,3,4,5>
-    2631517974U, // <4,5,2,4>: Cost 3 vext2 <2,3,4,5>, <2,4,3,5>
+    2821342106U, // <4,5,2,4>: Cost 3 vuzpr <0,4,1,5>, <1,2,3,4>
     3692652384U, // <4,5,2,5>: Cost 4 vext2 <0,2,4,5>, <2,5,2,7>
-    2631518138U, // <4,5,2,6>: Cost 3 vext2 <2,3,4,5>, <2,6,3,7>
-    4164013366U, // <4,5,2,7>: Cost 4 vtrnr <0,4,u,2>, RHS
+    2821341388U, // <4,5,2,6>: Cost 3 vuzpr <0,4,1,5>, <0,2,4,6>
+    3089681718U, // <4,5,2,7>: Cost 3 vtrnr <0,4,0,2>, RHS
     1561094243U, // <4,5,2,u>: Cost 2 vext2 <2,u,4,5>, <2,u,4,5>
     2631518358U, // <4,5,3,0>: Cost 3 vext2 <2,3,4,5>, <3,0,1,2>
-    3895084710U, // <4,5,3,1>: Cost 4 vuzpr <0,4,1,5>, <2,3,0,1>
+    2821342886U, // <4,5,3,1>: Cost 3 vuzpr <0,4,1,5>, <2,3,0,1>
     2631518540U, // <4,5,3,2>: Cost 3 vext2 <2,3,4,5>, <3,2,3,4>
-    2631518620U, // <4,5,3,3>: Cost 3 vext2 <2,3,4,5>, <3,3,3,3>
-    2631518716U, // <4,5,3,4>: Cost 3 vext2 <2,3,4,5>, <3,4,5,0>
-    2631518784U, // <4,5,3,5>: Cost 3 vext2 <2,3,4,5>, <3,5,3,5>
+    2821342168U, // <4,5,3,3>: Cost 3 vuzpr <0,4,1,5>, <1,3,1,3>
+    2821347263U, // <4,5,3,4>: Cost 3 vuzpr <0,4,1,5>, <u,3,0,4>
+    2821342197U, // <4,5,3,5>: Cost 3 vuzpr <0,4,1,5>, <1,3,4,5>
     2658060980U, // <4,5,3,6>: Cost 3 vext2 <6,7,4,5>, <3,6,7,4>
-    2640145131U, // <4,5,3,7>: Cost 3 vext2 <3,7,4,5>, <3,7,4,5>
-    2631519006U, // <4,5,3,u>: Cost 3 vext2 <2,3,4,5>, <3,u,1,2>
+    2821342208U, // <4,5,3,7>: Cost 3 vuzpr <0,4,1,5>, <1,3,5,7>
+    2821342173U, // <4,5,3,u>: Cost 3 vuzpr <0,4,1,5>, <1,3,1,u>
     2571108454U, // <4,5,4,0>: Cost 3 vext1 <3,4,5,4>, LHS
-    3632907342U, // <4,5,4,1>: Cost 4 vext1 <1,4,5,4>, <1,4,5,4>
+    3048116352U, // <4,5,4,1>: Cost 3 vtrnl <4,6,4,6>, <5,7,1,3>
     2571110094U, // <4,5,4,2>: Cost 3 vext1 <3,4,5,4>, <2,3,4,5>
     2571110912U, // <4,5,4,3>: Cost 3 vext1 <3,4,5,4>, <3,4,5,4>
     2571111734U, // <4,5,4,4>: Cost 3 vext1 <3,4,5,4>, RHS
-    1557777718U, // <4,5,4,5>: Cost 2 vext2 <2,3,4,5>, RHS
-    2645454195U, // <4,5,4,6>: Cost 3 vext2 <4,6,4,5>, <4,6,4,5>
-    2718748614U, // <4,5,4,7>: Cost 3 vext3 <5,6,7,4>, <5,4,7,6>
+    1747599698U, // <4,5,4,5>: Cost 2 vuzpr <0,4,1,5>, <0,4,1,5>
+    1707298102U, // <4,5,4,6>: Cost 2 vuzpl <4,u,5,1>, RHS
+    2040139062U, // <4,5,4,7>: Cost 2 vtrnr <4,4,4,4>, RHS
     1557777961U, // <4,5,4,u>: Cost 2 vext2 <2,3,4,5>, RHS
     1503346790U, // <4,5,5,0>: Cost 2 vext1 <4,4,5,5>, LHS
-    2913398480U, // <4,5,5,1>: Cost 3 vzipl RHS, <5,1,7,3>
-    2631519998U, // <4,5,5,2>: Cost 3 vext2 <2,3,4,5>, <5,2,3,4>
-    2577090710U, // <4,5,5,3>: Cost 3 vext1 <4,4,5,5>, <3,0,1,2>
-    1503349978U, // <4,5,5,4>: Cost 2 vext1 <4,4,5,5>, <4,4,5,5>
-    2631520260U, // <4,5,5,5>: Cost 3 vext2 <2,3,4,5>, <5,5,5,5>
-    2913390690U, // <4,5,5,6>: Cost 3 vzipl RHS, <5,6,7,0>
-    2821344566U, // <4,5,5,7>: Cost 3 vuzpr <0,4,1,5>, RHS
-    1503352622U, // <4,5,5,u>: Cost 2 vext1 <4,4,5,5>, LHS
+    1839656656U, // <4,5,5,1>: Cost 2 vzipl RHS, <5,1,7,3>
+    2967063038U, // <4,5,5,2>: Cost 3 vzipr <2,3,4,5>, <3,4,5,2>
+    2821344517U, // <4,5,5,3>: Cost 3 vuzpr <0,4,1,5>, <4,5,1,3>
+    1839648710U, // <4,5,5,4>: Cost 2 vzipl RHS, <5,4,7,6>
+    1839648772U, // <4,5,5,5>: Cost 2 vzipl RHS, <5,5,5,5>
+    1839648866U, // <4,5,5,6>: Cost 2 vzipl RHS, <5,6,7,0>
+    1747602742U, // <4,5,5,7>: Cost 2 vuzpr <0,4,1,5>, RHS
+    1747602743U, // <4,5,5,u>: Cost 2 vuzpr <0,4,1,5>, RHS
     1497383014U, // <4,5,6,0>: Cost 2 vext1 <3,4,5,6>, LHS
-    2559181904U, // <4,5,6,1>: Cost 3 vext1 <1,4,5,6>, <1,4,5,6>
+    1973866624U, // <4,5,6,1>: Cost 2 vtrnl RHS, <5,7,1,3>
     2565154601U, // <4,5,6,2>: Cost 3 vext1 <2,4,5,6>, <2,4,5,6>
     1497385474U, // <4,5,6,3>: Cost 2 vext1 <3,4,5,6>, <3,4,5,6>
     1497386294U, // <4,5,6,4>: Cost 2 vext1 <3,4,5,6>, RHS
-    3047608324U, // <4,5,6,5>: Cost 3 vtrnl RHS, <5,5,5,5>
-    2571129656U, // <4,5,6,6>: Cost 3 vext1 <3,4,5,6>, <6,6,6,6>
+    1973866500U, // <4,5,6,5>: Cost 2 vtrnl RHS, <5,5,5,5>
+    2954463746U, // <4,5,6,6>: Cost 3 vzipr <0,2,4,6>, <3,4,5,6>
     27705344U,   // <4,5,6,7>: Cost 0 copy RHS
     27705344U,   // <4,5,6,u>: Cost 0 copy RHS
     2565161062U, // <4,5,7,0>: Cost 3 vext1 <2,4,5,7>, LHS
@@ -3412,260 +3410,260 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2565162794U, // <4,5,7,2>: Cost 3 vext1 <2,4,5,7>, <2,4,5,7>
     2661381387U, // <4,5,7,3>: Cost 3 vext2 <7,3,4,5>, <7,3,4,5>
     2565164342U, // <4,5,7,4>: Cost 3 vext1 <2,4,5,7>, RHS
-    2718748840U, // <4,5,7,5>: Cost 3 vext3 <5,6,7,4>, <5,7,5,7>
+    2780403046U, // <4,5,7,5>: Cost 3 vuzpl <4,7,5,4>, <7,4,5,6>
     2718748846U, // <4,5,7,6>: Cost 3 vext3 <5,6,7,4>, <5,7,6,4>
-    2719412407U, // <4,5,7,7>: Cost 3 vext3 <5,7,7,4>, <5,7,7,4>
+    3102035254U, // <4,5,7,7>: Cost 3 vtrnr <2,4,5,7>, RHS
     2565166894U, // <4,5,7,u>: Cost 3 vext1 <2,4,5,7>, LHS
     1497399398U, // <4,5,u,0>: Cost 2 vext1 <3,4,5,u>, LHS
     1557780270U, // <4,5,u,1>: Cost 2 vext2 <2,3,4,5>, LHS
-    2631522181U, // <4,5,u,2>: Cost 3 vext2 <2,3,4,5>, <u,2,3,0>
-    1497401860U, // <4,5,u,3>: Cost 2 vext1 <3,4,5,u>, <3,4,5,u>
+    1707300654U, // <4,5,u,2>: Cost 2 vuzpl <4,u,5,1>, LHS
+    1747600029U, // <4,5,u,3>: Cost 2 vuzpr <0,4,1,5>, LHS
     1497402678U, // <4,5,u,4>: Cost 2 vext1 <3,4,5,u>, RHS
     1557780634U, // <4,5,u,5>: Cost 2 vext2 <2,3,4,5>, RHS
-    2631522512U, // <4,5,u,6>: Cost 3 vext2 <2,3,4,5>, <u,6,3,7>
+    1707301018U, // <4,5,u,6>: Cost 2 vuzpl <4,u,5,1>, RHS
     27705344U,   // <4,5,u,7>: Cost 0 copy RHS
     27705344U,   // <4,5,u,u>: Cost 0 copy RHS
-    2618916864U, // <4,6,0,0>: Cost 3 vext2 <0,2,4,6>, <0,0,0,0>
+    1705426944U, // <4,6,0,0>: Cost 2 vuzpl RHS, <0,0,0,0>
     1545175142U, // <4,6,0,1>: Cost 2 vext2 <0,2,4,6>, LHS
-    1545175244U, // <4,6,0,2>: Cost 2 vext2 <0,2,4,6>, <0,2,4,6>
-    3692658940U, // <4,6,0,3>: Cost 4 vext2 <0,2,4,6>, <0,3,1,0>
-    2618917202U, // <4,6,0,4>: Cost 3 vext2 <0,2,4,6>, <0,4,1,5>
-    3852910806U, // <4,6,0,5>: Cost 4 vuzpl RHS, <0,2,5,7>
-    2253525648U, // <4,6,0,6>: Cost 3 vrev <6,4,6,0>
-    4040764726U, // <4,6,0,7>: Cost 4 vzipr <2,3,4,0>, RHS
-    1545175709U, // <4,6,0,u>: Cost 2 vext2 <0,2,4,6>, LHS
+    631685222U,  // <4,6,0,2>: Cost 1 vuzpl RHS, LHS
+    2779168958U, // <4,6,0,3>: Cost 3 vuzpl RHS, <0,2,3,1>
+    1705427148U, // <4,6,0,4>: Cost 2 vuzpl RHS, <0,2,4,6>
+    2779168982U, // <4,6,0,5>: Cost 3 vuzpl RHS, <0,2,5,7>
+    2779168990U, // <4,6,0,6>: Cost 3 vuzpl RHS, <0,2,6,6>
+    2967022902U, // <4,6,0,7>: Cost 3 vzipr <2,3,4,0>, RHS
+    631685276U,  // <4,6,0,u>: Cost 1 vuzpl RHS, LHS
     2618917622U, // <4,6,1,0>: Cost 3 vext2 <0,2,4,6>, <1,0,3,2>
-    2618917684U, // <4,6,1,1>: Cost 3 vext2 <0,2,4,6>, <1,1,1,1>
+    1705427764U, // <4,6,1,1>: Cost 2 vuzpl RHS, <1,1,1,1>
     2618917782U, // <4,6,1,2>: Cost 3 vext2 <0,2,4,6>, <1,2,3,0>
-    2618917848U, // <4,6,1,3>: Cost 3 vext2 <0,2,4,6>, <1,3,1,3>
-    3692659773U, // <4,6,1,4>: Cost 4 vext2 <0,2,4,6>, <1,4,3,5>
-    2618918032U, // <4,6,1,5>: Cost 3 vext2 <0,2,4,6>, <1,5,3,7>
-    3692659937U, // <4,6,1,6>: Cost 4 vext2 <0,2,4,6>, <1,6,3,7>
-    4032146742U, // <4,6,1,7>: Cost 4 vzipr <0,u,4,1>, RHS
-    2618918253U, // <4,6,1,u>: Cost 3 vext2 <0,2,4,6>, <1,u,1,3>
-    2618918380U, // <4,6,2,0>: Cost 3 vext2 <0,2,4,6>, <2,0,6,4>
-    2618918460U, // <4,6,2,1>: Cost 3 vext2 <0,2,4,6>, <2,1,6,3>
-    2618918504U, // <4,6,2,2>: Cost 3 vext2 <0,2,4,6>, <2,2,2,2>
-    2618918566U, // <4,6,2,3>: Cost 3 vext2 <0,2,4,6>, <2,3,0,1>
-    2618918679U, // <4,6,2,4>: Cost 3 vext2 <0,2,4,6>, <2,4,3,6>
-    2618918788U, // <4,6,2,5>: Cost 3 vext2 <0,2,4,6>, <2,5,6,7>
+    1747681382U, // <4,6,1,3>: Cost 2 vuzpr <0,4,2,6>, LHS
+    2779169619U, // <4,6,1,4>: Cost 3 vuzpl RHS, <1,1,4,5>
+    1705427968U, // <4,6,1,5>: Cost 2 vuzpl RHS, <1,3,5,7>
+    2779169801U, // <4,6,1,6>: Cost 3 vuzpl RHS, <1,3,6,7>
+    2958404918U, // <4,6,1,7>: Cost 3 vzipr <0,u,4,1>, RHS
+    1747681387U, // <4,6,1,u>: Cost 2 vuzpr <0,4,2,6>, LHS
+    1705428646U, // <4,6,2,0>: Cost 2 vuzpl RHS, <2,3,0,1>
+    2779170237U, // <4,6,2,1>: Cost 3 vuzpl RHS, <2,0,1,2>
+    1705428584U, // <4,6,2,2>: Cost 2 vuzpl RHS, <2,2,2,2>
+    1705428594U, // <4,6,2,3>: Cost 2 vuzpl RHS, <2,2,3,3>
+    1705428686U, // <4,6,2,4>: Cost 2 vuzpl RHS, <2,3,4,5>
+    2839560386U, // <4,6,2,5>: Cost 3 vuzpr <3,4,5,6>, <0,2,3,5>
     2618918842U, // <4,6,2,6>: Cost 3 vext2 <0,2,4,6>, <2,6,3,7>
-    2718749178U, // <4,6,2,7>: Cost 3 vext3 <5,6,7,4>, <6,2,7,3>
-    2618918971U, // <4,6,2,u>: Cost 3 vext2 <0,2,4,6>, <2,u,0,1>
+    2958413110U, // <4,6,2,7>: Cost 3 vzipr <0,u,4,2>, RHS
+    1705428639U, // <4,6,2,u>: Cost 2 vuzpl RHS, <2,2,u,3>
     2618919062U, // <4,6,3,0>: Cost 3 vext2 <0,2,4,6>, <3,0,1,2>
-    2636171526U, // <4,6,3,1>: Cost 3 vext2 <3,1,4,6>, <3,1,4,6>
-    3692661057U, // <4,6,3,2>: Cost 4 vext2 <0,2,4,6>, <3,2,2,2>
-    2618919324U, // <4,6,3,3>: Cost 3 vext2 <0,2,4,6>, <3,3,3,3>
+    1705429142U, // <4,6,3,1>: Cost 2 vuzpl RHS, <3,0,1,2>
+    2779170973U, // <4,6,3,2>: Cost 3 vuzpl RHS, <3,0,2,0>
+    1705429404U, // <4,6,3,3>: Cost 2 vuzpl RHS, <3,3,3,3>
     2618919426U, // <4,6,3,4>: Cost 3 vext2 <0,2,4,6>, <3,4,5,6>
-    2638826058U, // <4,6,3,5>: Cost 3 vext2 <3,5,4,6>, <3,5,4,6>
-    3913303030U, // <4,6,3,6>: Cost 4 vuzpr <3,4,5,6>, <1,3,4,6>
-    2722730572U, // <4,6,3,7>: Cost 3 vext3 <6,3,7,4>, <6,3,7,4>
-    2618919710U, // <4,6,3,u>: Cost 3 vext2 <0,2,4,6>, <3,u,1,2>
-    2565210214U, // <4,6,4,0>: Cost 3 vext1 <2,4,6,4>, LHS
-    2718749286U, // <4,6,4,1>: Cost 3 vext3 <5,6,7,4>, <6,4,1,3>
+    1705429506U, // <4,6,3,5>: Cost 2 vuzpl RHS, <3,4,5,6>
+    2839561206U, // <4,6,3,6>: Cost 3 vuzpr <3,4,5,6>, <1,3,4,6>
+    2821424128U, // <4,6,3,7>: Cost 3 vuzpr <0,4,2,6>, <1,3,5,7>
+    1705429205U, // <4,6,3,u>: Cost 2 vuzpl RHS, <3,0,u,2>
+    1705430348U, // <4,6,4,0>: Cost 2 vuzpl RHS, <4,6,0,2>
+    2779171695U, // <4,6,4,1>: Cost 3 vuzpl RHS, <4,0,1,2>
     2565211952U, // <4,6,4,2>: Cost 3 vext1 <2,4,6,4>, <2,4,6,4>
-    2571184649U, // <4,6,4,3>: Cost 3 vext1 <3,4,6,4>, <3,4,6,4>
-    2565213494U, // <4,6,4,4>: Cost 3 vext1 <2,4,6,4>, RHS
+    2779172198U, // <4,6,4,3>: Cost 3 vuzpl RHS, <4,6,3,1>
+    1705430224U, // <4,6,4,4>: Cost 2 vuzpl RHS, <4,4,4,4>
     1545178422U, // <4,6,4,5>: Cost 2 vext2 <0,2,4,6>, RHS
-    1705430326U, // <4,6,4,6>: Cost 2 vuzpl RHS, RHS
-    2595075437U, // <4,6,4,7>: Cost 3 vext1 <7,4,6,4>, <7,4,6,4>
-    1545178665U, // <4,6,4,u>: Cost 2 vext2 <0,2,4,6>, RHS
-    2565218406U, // <4,6,5,0>: Cost 3 vext1 <2,4,6,5>, LHS
-    2645462736U, // <4,6,5,1>: Cost 3 vext2 <4,6,4,6>, <5,1,7,3>
-    2913399290U, // <4,6,5,2>: Cost 3 vzipl RHS, <6,2,7,3>
-    3913305394U, // <4,6,5,3>: Cost 4 vuzpr <3,4,5,6>, <4,5,6,3>
-    2645462982U, // <4,6,5,4>: Cost 3 vext2 <4,6,4,6>, <5,4,7,6>
-    2779172868U, // <4,6,5,5>: Cost 3 vuzpl RHS, <5,5,5,5>
-    2913391416U, // <4,6,5,6>: Cost 3 vzipl RHS, <6,6,6,6>
-    2821426486U, // <4,6,5,7>: Cost 3 vuzpr <0,4,2,6>, RHS
-    2821426487U, // <4,6,5,u>: Cost 3 vuzpr <0,4,2,6>, RHS
-    1503428710U, // <4,6,6,0>: Cost 2 vext1 <4,4,6,6>, LHS
-    2577171190U, // <4,6,6,1>: Cost 3 vext1 <4,4,6,6>, <1,0,3,2>
-    2645463546U, // <4,6,6,2>: Cost 3 vext2 <4,6,4,6>, <6,2,7,3>
-    2577172630U, // <4,6,6,3>: Cost 3 vext1 <4,4,6,6>, <3,0,1,2>
-    1503431908U, // <4,6,6,4>: Cost 2 vext1 <4,4,6,6>, <4,4,6,6>
-    2253501069U, // <4,6,6,5>: Cost 3 vrev <6,4,5,6>
-    2618921784U, // <4,6,6,6>: Cost 3 vext2 <0,2,4,6>, <6,6,6,6>
-    2954464566U, // <4,6,6,7>: Cost 3 vzipr <0,2,4,6>, RHS
-    1503434542U, // <4,6,6,u>: Cost 2 vext1 <4,4,6,6>, LHS
-    2645464058U, // <4,6,7,0>: Cost 3 vext2 <4,6,4,6>, <7,0,1,2>
-    2779173882U, // <4,6,7,1>: Cost 3 vuzpl RHS, <7,0,1,2>
-    3638978355U, // <4,6,7,2>: Cost 4 vext1 <2,4,6,7>, <2,4,6,7>
-    2725090156U, // <4,6,7,3>: Cost 3 vext3 <6,7,3,4>, <6,7,3,4>
-    2645464422U, // <4,6,7,4>: Cost 3 vext2 <4,6,4,6>, <7,4,5,6>
-    2779174246U, // <4,6,7,5>: Cost 3 vuzpl RHS, <7,4,5,6>
-    3852915914U, // <4,6,7,6>: Cost 4 vuzpl RHS, <7,2,6,3>
-    2779174508U, // <4,6,7,7>: Cost 3 vuzpl RHS, <7,7,7,7>
-    2779173945U, // <4,6,7,u>: Cost 3 vuzpl RHS, <7,0,u,2>
-    1503445094U, // <4,6,u,0>: Cost 2 vext1 <4,4,6,u>, LHS
+    631688502U,  // <4,6,4,6>: Cost 1 vuzpl RHS, RHS
+    1905921334U, // <4,6,4,7>: Cost 2 vzipr <4,4,4,4>, RHS
+    631688520U,  // <4,6,4,u>: Cost 1 vuzpl RHS, RHS
+    2839563567U, // <4,6,5,0>: Cost 3 vuzpr <3,4,5,6>, <4,5,6,0>
+    1705439360U, // <4,6,5,1>: Cost 2 vuzpl RHS, <5,7,1,3>
+    1839657466U, // <4,6,5,2>: Cost 2 vzipl RHS, <6,2,7,3>
+    2839563570U, // <4,6,5,3>: Cost 3 vuzpr <3,4,5,6>, <4,5,6,3>
+    2839563571U, // <4,6,5,4>: Cost 3 vuzpr <3,4,5,6>, <4,5,6,4>
+    1705431044U, // <4,6,5,5>: Cost 2 vuzpl RHS, <5,5,5,5>
+    1839649592U, // <4,6,5,6>: Cost 2 vzipl RHS, <6,6,6,6>
+    1747684662U, // <4,6,5,7>: Cost 2 vuzpr <0,4,2,6>, RHS
+    1747684663U, // <4,6,5,u>: Cost 2 vuzpr <0,4,2,6>, RHS
+    1705431886U, // <4,6,6,0>: Cost 2 vuzpl RHS, <6,7,0,1>
+    2821425049U, // <4,6,6,1>: Cost 3 vuzpr <0,4,2,6>, <2,6,0,1>
+    2779173164U, // <4,6,6,2>: Cost 3 vuzpl RHS, <6,0,2,4>
+    2954464319U, // <4,6,6,3>: Cost 3 vzipr <0,2,4,6>, <4,2,6,3>
+    1705431926U, // <4,6,6,4>: Cost 2 vuzpl RHS, <6,7,4,5>
+    2821425089U, // <4,6,6,5>: Cost 3 vuzpr <0,4,2,6>, <2,6,4,5>
+    1705431864U, // <4,6,6,6>: Cost 2 vuzpl RHS, <6,6,6,6>
+    1880722742U, // <4,6,6,7>: Cost 2 vzipr <0,2,4,6>, RHS
+    1880722743U, // <4,6,6,u>: Cost 2 vzipr <0,2,4,6>, RHS
+    2779173871U, // <4,6,7,0>: Cost 3 vuzpl RHS, <7,0,0,0>
+    1705432058U, // <4,6,7,1>: Cost 2 vuzpl RHS, <7,0,1,2>
+    2779173889U, // <4,6,7,2>: Cost 3 vuzpl RHS, <7,0,2,0>
+    2779173980U, // <4,6,7,3>: Cost 3 vuzpl RHS, <7,1,3,1>
+    2779173908U, // <4,6,7,4>: Cost 3 vuzpl RHS, <7,0,4,1>
+    1705432422U, // <4,6,7,5>: Cost 2 vuzpl RHS, <7,4,5,6>
+    2779174090U, // <4,6,7,6>: Cost 3 vuzpl RHS, <7,2,6,3>
+    1705432684U, // <4,6,7,7>: Cost 2 vuzpl RHS, <7,7,7,7>
+    1705432121U, // <4,6,7,u>: Cost 2 vuzpl RHS, <7,0,u,2>
+    1705433020U, // <4,6,u,0>: Cost 2 vuzpl RHS, <u,3,0,1>
     1545180974U, // <4,6,u,1>: Cost 2 vext2 <0,2,4,6>, LHS
-    1705432878U, // <4,6,u,2>: Cost 2 vuzpl RHS, LHS
-    2618922940U, // <4,6,u,3>: Cost 3 vext2 <0,2,4,6>, <u,3,0,1>
-    1503448294U, // <4,6,u,4>: Cost 2 vext1 <4,4,6,u>, <4,4,6,u>
+    631691054U,  // <4,6,u,2>: Cost 1 vuzpl RHS, LHS
+    1747681949U, // <4,6,u,3>: Cost 2 vuzpr <0,4,2,6>, LHS
+    1705433060U, // <4,6,u,4>: Cost 2 vuzpl RHS, <u,3,4,5>
     1545181338U, // <4,6,u,5>: Cost 2 vext2 <0,2,4,6>, RHS
-    1705433242U, // <4,6,u,6>: Cost 2 vuzpl RHS, RHS
-    2954480950U, // <4,6,u,7>: Cost 3 vzipr <0,2,4,u>, RHS
-    1545181541U, // <4,6,u,u>: Cost 2 vext2 <0,2,4,6>, LHS
-    3706601472U, // <4,7,0,0>: Cost 4 vext2 <2,5,4,7>, <0,0,0,0>
+    631691418U,  // <4,6,u,6>: Cost 1 vuzpl RHS, RHS
+    1880739126U, // <4,6,u,7>: Cost 2 vzipr <0,2,4,u>, RHS
+    631691108U,  // <4,6,u,u>: Cost 1 vuzpl RHS, LHS
+    2909950970U, // <4,7,0,0>: Cost 3 vzipl <4,0,5,1>, <7,0,1,2>
     2632859750U, // <4,7,0,1>: Cost 3 vext2 <2,5,4,7>, LHS
-    2726343685U, // <4,7,0,2>: Cost 3 vext3 <7,0,2,4>, <7,0,2,4>
+    2779856998U, // <4,7,0,2>: Cost 3 vuzpl <4,6,7,1>, LHS
     3701293312U, // <4,7,0,3>: Cost 4 vext2 <1,6,4,7>, <0,3,1,4>
-    3706601810U, // <4,7,0,4>: Cost 4 vext2 <2,5,4,7>, <0,4,1,5>
-    2259424608U, // <4,7,0,5>: Cost 3 vrev <7,4,5,0>
-    3695321617U, // <4,7,0,6>: Cost 4 vext2 <0,6,4,7>, <0,6,4,7>
-    3800454194U, // <4,7,0,7>: Cost 4 vext3 <7,0,7,4>, <7,0,7,4>
+    2909951288U, // <4,7,0,4>: Cost 3 vzipl <4,0,5,1>, <7,4,0,5>
+    3047789926U, // <4,7,0,5>: Cost 3 vtrnl <4,6,0,2>, <7,4,5,6>
+    3047789929U, // <4,7,0,6>: Cost 3 vtrnl <4,6,0,2>, <7,4,6,0>
+    3047790188U, // <4,7,0,7>: Cost 3 vtrnl <4,6,0,2>, <7,7,7,7>
     2632860317U, // <4,7,0,u>: Cost 3 vext2 <2,5,4,7>, LHS
     2259064116U, // <4,7,1,0>: Cost 3 vrev <7,4,0,1>
-    3700630324U, // <4,7,1,1>: Cost 4 vext2 <1,5,4,7>, <1,1,1,1>
+    3901367092U, // <4,7,1,1>: Cost 4 vuzpr <1,4,5,7>, <1,1,1,1>
     2632860570U, // <4,7,1,2>: Cost 3 vext2 <2,5,4,7>, <1,2,3,4>
-    3769635936U, // <4,7,1,3>: Cost 4 vext3 <1,u,3,4>, <7,1,3,5>
-    3656920374U, // <4,7,1,4>: Cost 4 vext1 <5,4,7,1>, RHS
+    2833596518U, // <4,7,1,3>: Cost 3 vuzpr <2,4,5,7>, LHS
+    3901367095U, // <4,7,1,4>: Cost 4 vuzpr <1,4,5,7>, <1,1,1,4>
     3700630681U, // <4,7,1,5>: Cost 4 vext2 <1,5,4,7>, <1,5,4,7>
-    3701294314U, // <4,7,1,6>: Cost 4 vext2 <1,6,4,7>, <1,6,4,7>
-    3793818754U, // <4,7,1,7>: Cost 4 vext3 <5,u,7,4>, <7,1,7,3>
-    2259654012U, // <4,7,1,u>: Cost 3 vrev <7,4,u,1>
-    3656925286U, // <4,7,2,0>: Cost 4 vext1 <5,4,7,2>, LHS
+    2988265414U, // <4,7,1,6>: Cost 3 vzipr <5,u,4,1>, <5,4,7,6>
+    4121597548U, // <4,7,1,7>: Cost 4 vtrnl <4,6,1,1>, <7,7,7,7>
+    2833596523U, // <4,7,1,u>: Cost 3 vuzpr <2,4,5,7>, LHS
+    3907339158U, // <4,7,2,0>: Cost 4 vuzpr <2,4,5,7>, <1,2,3,0>
     3706603050U, // <4,7,2,1>: Cost 4 vext2 <2,5,4,7>, <2,1,4,3>
-    3706603112U, // <4,7,2,2>: Cost 4 vext2 <2,5,4,7>, <2,2,2,2>
+    3907338404U, // <4,7,2,2>: Cost 4 vuzpr <2,4,5,7>, <0,2,0,2>
     2727744688U, // <4,7,2,3>: Cost 3 vext3 <7,2,3,4>, <7,2,3,4>
-    3705939745U, // <4,7,2,4>: Cost 4 vext2 <2,4,4,7>, <2,4,4,7>
+    2833597338U, // <4,7,2,4>: Cost 3 vuzpr <2,4,5,7>, <1,2,3,4>
     2632861554U, // <4,7,2,5>: Cost 3 vext2 <2,5,4,7>, <2,5,4,7>
-    3706603450U, // <4,7,2,6>: Cost 4 vext2 <2,5,4,7>, <2,6,3,7>
-    3792491731U, // <4,7,2,7>: Cost 4 vext3 <5,6,7,4>, <7,2,7,3>
+    3907338444U, // <4,7,2,6>: Cost 4 vuzpr <2,4,5,7>, <0,2,4,6>
+    4121663084U, // <4,7,2,7>: Cost 4 vtrnl <4,6,2,0>, <7,7,7,7>
     2634852453U, // <4,7,2,u>: Cost 3 vext2 <2,u,4,7>, <2,u,4,7>
-    3706603670U, // <4,7,3,0>: Cost 4 vext2 <2,5,4,7>, <3,0,1,2>
-    3662906266U, // <4,7,3,1>: Cost 4 vext1 <6,4,7,3>, <1,2,3,4>
-    3725183326U, // <4,7,3,2>: Cost 4 vext2 <5,6,4,7>, <3,2,5,4>
-    3706603932U, // <4,7,3,3>: Cost 4 vext2 <2,5,4,7>, <3,3,3,3>
-    3701295618U, // <4,7,3,4>: Cost 4 vext2 <1,6,4,7>, <3,4,5,6>
+    3907339977U, // <4,7,3,0>: Cost 4 vuzpr <2,4,5,7>, <2,3,4,0>
+    3907339942U, // <4,7,3,1>: Cost 4 vuzpr <2,4,5,7>, <2,3,0,1>
+    3706603860U, // <4,7,3,2>: Cost 4 vext2 <2,5,4,7>, <3,2,4,3>
+    3907339224U, // <4,7,3,3>: Cost 4 vuzpr <2,4,5,7>, <1,3,1,3>
+    2989609062U, // <4,7,3,4>: Cost 3 vzipr <6,1,4,3>, <5,6,7,4>
     2638834251U, // <4,7,3,5>: Cost 3 vext2 <3,5,4,7>, <3,5,4,7>
     2639497884U, // <4,7,3,6>: Cost 3 vext2 <3,6,4,7>, <3,6,4,7>
-    3802445093U, // <4,7,3,7>: Cost 4 vext3 <7,3,7,4>, <7,3,7,4>
+    3907191808U, // <4,7,3,7>: Cost 4 vuzpr <2,4,3,7>, <1,3,5,7>
     2640825150U, // <4,7,3,u>: Cost 3 vext2 <3,u,4,7>, <3,u,4,7>
-    2718750004U, // <4,7,4,0>: Cost 3 vext3 <5,6,7,4>, <7,4,0,1>
-    3706604490U, // <4,7,4,1>: Cost 4 vext2 <2,5,4,7>, <4,1,2,3>
-    3656943474U, // <4,7,4,2>: Cost 4 vext1 <5,4,7,4>, <2,5,4,7>
-    3779884371U, // <4,7,4,3>: Cost 4 vext3 <3,5,7,4>, <7,4,3,5>
-    2259383643U, // <4,7,4,4>: Cost 3 vrev <7,4,4,4>
+    2583199846U, // <4,7,4,0>: Cost 3 vext1 <5,4,7,4>, LHS
+    3048117242U, // <4,7,4,1>: Cost 3 vtrnl <4,6,4,6>, <7,0,1,2>
+    3907340762U, // <4,7,4,2>: Cost 4 vuzpr <2,4,5,7>, <3,4,1,2>
+    2979663568U, // <4,7,4,3>: Cost 3 vzipr <4,4,4,4>, <5,1,7,3>
+    2583203024U, // <4,7,4,4>: Cost 3 vext1 <5,4,7,4>, <4,4,4,4>
     2632863030U, // <4,7,4,5>: Cost 3 vext2 <2,5,4,7>, RHS
-    2259531117U, // <4,7,4,6>: Cost 3 vrev <7,4,6,4>
-    3907340074U, // <4,7,4,7>: Cost 4 vuzpr <2,4,5,7>, <2,4,5,7>
+    3048117613U, // <4,7,4,6>: Cost 3 vtrnl <4,6,4,6>, <7,4,6,4>
+    2833598250U, // <4,7,4,7>: Cost 3 vuzpr <2,4,5,7>, <2,4,5,7>
     2632863273U, // <4,7,4,u>: Cost 3 vext2 <2,5,4,7>, RHS
-    2913391610U, // <4,7,5,0>: Cost 3 vzipl RHS, <7,0,1,2>
-    3645006848U, // <4,7,5,1>: Cost 4 vext1 <3,4,7,5>, <1,3,5,7>
-    2589181646U, // <4,7,5,2>: Cost 3 vext1 <6,4,7,5>, <2,3,4,5>
-    3645008403U, // <4,7,5,3>: Cost 4 vext1 <3,4,7,5>, <3,4,7,5>
-    2913391974U, // <4,7,5,4>: Cost 3 vzipl RHS, <7,4,5,6>
-    2583211973U, // <4,7,5,5>: Cost 3 vext1 <5,4,7,5>, <5,4,7,5>
-    2589184670U, // <4,7,5,6>: Cost 3 vext1 <6,4,7,5>, <6,4,7,5>
-    2913392236U, // <4,7,5,7>: Cost 3 vzipl RHS, <7,7,7,7>
-    2913392258U, // <4,7,5,u>: Cost 3 vzipl RHS, <7,u,1,2>
+    1839649786U, // <4,7,5,0>: Cost 2 vzipl RHS, <7,0,1,2>
+    2913391683U, // <4,7,5,1>: Cost 3 vzipl RHS, <7,1,0,3>
+    2913391781U, // <4,7,5,2>: Cost 3 vzipl RHS, <7,2,2,2>
+    2913391843U, // <4,7,5,3>: Cost 3 vzipl RHS, <7,3,0,1>
+    1839650150U, // <4,7,5,4>: Cost 2 vzipl RHS, <7,4,5,6>
+    2913392047U, // <4,7,5,5>: Cost 3 vzipl RHS, <7,5,4,7>
+    2913392145U, // <4,7,5,6>: Cost 3 vzipl RHS, <7,6,6,6>
+    1839650412U, // <4,7,5,7>: Cost 2 vzipl RHS, <7,7,7,7>
+    1839650434U, // <4,7,5,u>: Cost 2 vzipl RHS, <7,u,1,2>
     1509474406U, // <4,7,6,0>: Cost 2 vext1 <5,4,7,6>, LHS
-    3047609338U, // <4,7,6,1>: Cost 3 vtrnl RHS, <7,0,1,2>
-    2583217768U, // <4,7,6,2>: Cost 3 vext1 <5,4,7,6>, <2,2,2,2>
-    2583218326U, // <4,7,6,3>: Cost 3 vext1 <5,4,7,6>, <3,0,1,2>
+    1973867514U, // <4,7,6,1>: Cost 2 vtrnl RHS, <7,0,1,2>
+    3047609345U, // <4,7,6,2>: Cost 3 vtrnl RHS, <7,0,2,0>
+    3047609436U, // <4,7,6,3>: Cost 3 vtrnl RHS, <7,1,3,1>
     1509477686U, // <4,7,6,4>: Cost 2 vext1 <5,4,7,6>, RHS
-    1509478342U, // <4,7,6,5>: Cost 2 vext1 <5,4,7,6>, <5,4,7,6>
-    2583220730U, // <4,7,6,6>: Cost 3 vext1 <5,4,7,6>, <6,2,7,3>
-    3047609964U, // <4,7,6,7>: Cost 3 vtrnl RHS, <7,7,7,7>
-    1509480238U, // <4,7,6,u>: Cost 2 vext1 <5,4,7,6>, LHS
-    3650994278U, // <4,7,7,0>: Cost 4 vext1 <4,4,7,7>, LHS
-    3650995098U, // <4,7,7,1>: Cost 4 vext1 <4,4,7,7>, <1,2,3,4>
-    3650996010U, // <4,7,7,2>: Cost 4 vext1 <4,4,7,7>, <2,4,5,7>
-    3804804677U, // <4,7,7,3>: Cost 4 vext3 <7,7,3,4>, <7,7,3,4>
-    3650997486U, // <4,7,7,4>: Cost 4 vext1 <4,4,7,7>, <4,4,7,7>
-    2662725039U, // <4,7,7,5>: Cost 3 vext2 <7,5,4,7>, <7,5,4,7>
-    3662942880U, // <4,7,7,6>: Cost 4 vext1 <6,4,7,7>, <6,4,7,7>
-    2718750316U, // <4,7,7,7>: Cost 3 vext3 <5,6,7,4>, <7,7,7,7>
-    2664715938U, // <4,7,7,u>: Cost 3 vext2 <7,u,4,7>, <7,u,4,7>
-    1509490790U, // <4,7,u,0>: Cost 2 vext1 <5,4,7,u>, LHS
-    2632865582U, // <4,7,u,1>: Cost 3 vext2 <2,5,4,7>, LHS
-    2583234152U, // <4,7,u,2>: Cost 3 vext1 <5,4,7,u>, <2,2,2,2>
-    2583234710U, // <4,7,u,3>: Cost 3 vext1 <5,4,7,u>, <3,0,1,2>
-    1509494070U, // <4,7,u,4>: Cost 2 vext1 <5,4,7,u>, RHS
-    1509494728U, // <4,7,u,5>: Cost 2 vext1 <5,4,7,u>, <5,4,7,u>
-    2583237114U, // <4,7,u,6>: Cost 3 vext1 <5,4,7,u>, <6,2,7,3>
-    3047757420U, // <4,7,u,7>: Cost 3 vtrnl RHS, <7,7,7,7>
-    1509496622U, // <4,7,u,u>: Cost 2 vext1 <5,4,7,u>, LHS
-    2618933248U, // <4,u,0,0>: Cost 3 vext2 <0,2,4,u>, <0,0,0,0>
+    1973867878U, // <4,7,6,5>: Cost 2 vtrnl RHS, <7,4,5,6>
+    3047609546U, // <4,7,6,6>: Cost 3 vtrnl RHS, <7,2,6,3>
+    1973868140U, // <4,7,6,7>: Cost 2 vtrnl RHS, <7,7,7,7>
+    1973867577U, // <4,7,6,u>: Cost 2 vtrnl RHS, <7,0,u,2>
+    2914587642U, // <4,7,7,0>: Cost 3 vzipl <4,7,5,0>, <7,0,1,2>
+    2779862010U, // <4,7,7,1>: Cost 3 vuzpl <4,6,7,1>, <7,0,1,2>
+    4042149826U, // <4,7,7,2>: Cost 4 vzipr <2,5,4,7>, <5,4,7,2>
+    3907341735U, // <4,7,7,3>: Cost 4 vuzpr <2,4,5,7>, <4,7,1,3>
+    2914620774U, // <4,7,7,4>: Cost 3 vzipl <4,7,5,4>, <7,4,5,6>
+    2779895142U, // <4,7,7,5>: Cost 3 vuzpl <4,6,7,5>, <7,4,5,6>
+    2992295878U, // <4,7,7,6>: Cost 3 vzipr <6,5,4,7>, <5,4,7,6>
+    2779911788U, // <4,7,7,7>: Cost 3 vuzpl <4,6,7,7>, <7,7,7,7>
+    2779919417U, // <4,7,7,u>: Cost 3 vuzpl <4,6,7,u>, <7,0,u,2>
+    1841640442U, // <4,7,u,0>: Cost 2 vzipl RHS, <7,0,1,2>
+    1974014970U, // <4,7,u,1>: Cost 2 vtrnl RHS, <7,0,1,2>
+    3047756801U, // <4,7,u,2>: Cost 3 vtrnl RHS, <7,0,2,0>
+    2833597085U, // <4,7,u,3>: Cost 3 vuzpr <2,4,5,7>, LHS
+    1841640806U, // <4,7,u,4>: Cost 2 vzipl RHS, <7,4,5,6>
+    1974015334U, // <4,7,u,5>: Cost 2 vtrnl RHS, <7,4,5,6>
+    3047757002U, // <4,7,u,6>: Cost 3 vtrnl RHS, <7,2,6,3>
+    1974015596U, // <4,7,u,7>: Cost 2 vtrnl RHS, <7,7,7,7>
+    1974015033U, // <4,7,u,u>: Cost 2 vtrnl RHS, <7,0,u,2>
+    1705574400U, // <4,u,0,0>: Cost 2 vuzpl RHS, <0,0,0,0>
     1545191526U, // <4,u,0,1>: Cost 2 vext2 <0,2,4,u>, LHS
-    1545191630U, // <4,u,0,2>: Cost 2 vext2 <0,2,4,u>, <0,2,4,u>
+    631832678U,  // <4,u,0,2>: Cost 1 vuzpl RHS, LHS
     2691913445U, // <4,u,0,3>: Cost 3 vext3 <1,2,3,4>, <u,0,3,2>
-    2618933586U, // <4,u,0,4>: Cost 3 vext2 <0,2,4,u>, <0,4,1,5>
-    2265397305U, // <4,u,0,5>: Cost 3 vrev <u,4,5,0>
-    2595189625U, // <4,u,0,6>: Cost 3 vext1 <7,4,u,0>, <6,7,4,u>
-    2595190139U, // <4,u,0,7>: Cost 3 vext1 <7,4,u,0>, <7,4,u,0>
-    1545192093U, // <4,u,0,u>: Cost 2 vext2 <0,2,4,u>, LHS
+    1705574604U, // <4,u,0,4>: Cost 2 vuzpl RHS, <0,2,4,6>
+    1836210330U, // <4,u,0,5>: Cost 2 vzipl <4,0,5,1>, RHS
+    1974048922U, // <4,u,0,6>: Cost 2 vtrnl <4,6,0,2>, RHS
+    2967022920U, // <4,u,0,7>: Cost 3 vzipr <2,3,4,0>, RHS
+    631832732U,  // <4,u,0,u>: Cost 1 vuzpl RHS, LHS
     2618934006U, // <4,u,1,0>: Cost 3 vext2 <0,2,4,u>, <1,0,3,2>
-    2618934068U, // <4,u,1,1>: Cost 3 vext2 <0,2,4,u>, <1,1,1,1>
+    1705575220U, // <4,u,1,1>: Cost 2 vuzpl RHS, <1,1,1,1>
     1618171694U, // <4,u,1,2>: Cost 2 vext3 <1,2,3,4>, LHS
-    2618934232U, // <4,u,1,3>: Cost 3 vext2 <0,2,4,u>, <1,3,1,3>
-    2695894848U, // <4,u,1,4>: Cost 3 vext3 <1,u,3,4>, <u,1,4,3>
-    2618934416U, // <4,u,1,5>: Cost 3 vext2 <0,2,4,u>, <1,5,3,7>
-    3692676321U, // <4,u,1,6>: Cost 4 vext2 <0,2,4,u>, <1,6,3,7>
-    2718750555U, // <4,u,1,7>: Cost 3 vext3 <5,6,7,4>, <u,1,7,3>
-    1618171748U, // <4,u,1,u>: Cost 2 vext3 <1,2,3,4>, LHS
-    2553397350U, // <4,u,2,0>: Cost 3 vext1 <0,4,u,2>, LHS
+    1747624038U, // <4,u,1,3>: Cost 2 vuzpr <0,4,1,u>, LHS
+    2821368833U, // <4,u,1,4>: Cost 3 vuzpr <0,4,1,u>, <4,1,u,4>
+    1705575424U, // <4,u,1,5>: Cost 2 vuzpl RHS, <1,3,5,7>
+    3043883162U, // <4,u,1,6>: Cost 3 vtrnl <4,0,1,2>, RHS
+    2958404936U, // <4,u,1,7>: Cost 3 vzipr <0,u,4,1>, RHS
+    1747624043U, // <4,u,1,u>: Cost 2 vuzpr <0,4,1,u>, LHS
+    1705576102U, // <4,u,2,0>: Cost 2 vuzpl RHS, <2,3,0,1>
     2630215215U, // <4,u,2,1>: Cost 3 vext2 <2,1,4,u>, <2,1,4,u>
-    2618934888U, // <4,u,2,2>: Cost 3 vext2 <0,2,4,u>, <2,2,2,2>
+    1705576040U, // <4,u,2,2>: Cost 2 vuzpl RHS, <2,2,2,2>
     1557800657U, // <4,u,2,3>: Cost 2 vext2 <2,3,4,u>, <2,3,4,u>
-    2618935065U, // <4,u,2,4>: Cost 3 vext2 <0,2,4,u>, <2,4,3,u>
-    2733864859U, // <4,u,2,5>: Cost 3 vext3 <u,2,5,4>, <u,2,5,4>
+    1705576142U, // <4,u,2,4>: Cost 2 vuzpl RHS, <2,3,4,5>
+    2632869747U, // <4,u,2,5>: Cost 3 vext2 <2,5,4,u>, <2,5,4,u>
     2618935226U, // <4,u,2,6>: Cost 3 vext2 <0,2,4,u>, <2,6,3,7>
-    2718750636U, // <4,u,2,7>: Cost 3 vext3 <5,6,7,4>, <u,2,7,3>
+    3089681961U, // <4,u,2,7>: Cost 3 vtrnr <0,4,0,2>, RHS
     1561118822U, // <4,u,2,u>: Cost 2 vext2 <2,u,4,u>, <2,u,4,u>
     2618935446U, // <4,u,3,0>: Cost 3 vext2 <0,2,4,u>, <3,0,1,2>
-    2779318422U, // <4,u,3,1>: Cost 3 vuzpl RHS, <3,0,1,2>
-    2636851545U, // <4,u,3,2>: Cost 3 vext2 <3,2,4,u>, <3,2,4,u>
-    2618935708U, // <4,u,3,3>: Cost 3 vext2 <0,2,4,u>, <3,3,3,3>
+    1705576598U, // <4,u,3,1>: Cost 2 vuzpl RHS, <3,0,1,2>
+    2691913681U, // <4,u,3,2>: Cost 3 vext3 <1,2,3,4>, <u,3,2,4>
+    1705576860U, // <4,u,3,3>: Cost 2 vuzpl RHS, <3,3,3,3>
     2618935810U, // <4,u,3,4>: Cost 3 vext2 <0,2,4,u>, <3,4,5,6>
-    2691913711U, // <4,u,3,5>: Cost 3 vext3 <1,2,3,4>, <u,3,5,7>
-    2588725862U, // <4,u,3,6>: Cost 3 vext1 <6,4,1,3>, <6,4,1,3>
-    2640169710U, // <4,u,3,7>: Cost 3 vext2 <3,7,4,u>, <3,7,4,u>
-    2618936094U, // <4,u,3,u>: Cost 3 vext2 <0,2,4,u>, <3,u,1,2>
-    1503559782U, // <4,u,4,0>: Cost 2 vext1 <4,4,u,4>, LHS
-    2692282391U, // <4,u,4,1>: Cost 3 vext3 <1,2,u,4>, <u,4,1,2>
-    2565359426U, // <4,u,4,2>: Cost 3 vext1 <2,4,u,4>, <2,4,u,4>
-    2571332123U, // <4,u,4,3>: Cost 3 vext1 <3,4,u,4>, <3,4,u,4>
+    1705576962U, // <4,u,3,5>: Cost 2 vuzpl RHS, <3,4,5,6>
+    2639506077U, // <4,u,3,6>: Cost 3 vext2 <3,6,4,u>, <3,6,4,u>
+    2821366784U, // <4,u,3,7>: Cost 3 vuzpr <0,4,1,u>, <1,3,5,7>
+    1705576661U, // <4,u,3,u>: Cost 2 vuzpl RHS, <3,0,u,2>
+    1705577804U, // <4,u,4,0>: Cost 2 vuzpl RHS, <4,6,0,2>
+    1838815022U, // <4,u,4,1>: Cost 2 vzipl <4,4,4,4>, LHS
+    1974376238U, // <4,u,4,2>: Cost 2 vtrnl <4,6,4,6>, LHS
+    1905918108U, // <4,u,4,3>: Cost 2 vzipr <4,4,4,4>, LHS
     161926454U,  // <4,u,4,4>: Cost 1 vdup0 RHS
     1545194806U, // <4,u,4,5>: Cost 2 vext2 <0,2,4,u>, RHS
-    1705577782U, // <4,u,4,6>: Cost 2 vuzpl RHS, RHS
-    2718750801U, // <4,u,4,7>: Cost 3 vext3 <5,6,7,4>, <u,4,7,6>
-    161926454U,  // <4,u,4,u>: Cost 1 vdup0 RHS
-    1479164006U, // <4,u,5,0>: Cost 2 vext1 <0,4,1,5>, LHS
-    1839650606U, // <4,u,5,1>: Cost 2 vzipl RHS, LHS
-    2565367502U, // <4,u,5,2>: Cost 3 vext1 <2,4,u,5>, <2,3,4,5>
-    3089777309U, // <4,u,5,3>: Cost 3 vtrnr <0,4,1,5>, LHS
-    1479167286U, // <4,u,5,4>: Cost 2 vext1 <0,4,1,5>, RHS
-    1839650970U, // <4,u,5,5>: Cost 2 vzipl RHS, RHS
+    631835958U,  // <4,u,4,6>: Cost 1 vuzpl RHS, RHS
+    1905921352U, // <4,u,4,7>: Cost 2 vzipr <4,4,4,4>, RHS
+    631835976U,  // <4,u,4,u>: Cost 1 vuzpl RHS, RHS
+    1839650515U, // <4,u,5,0>: Cost 2 vzipl RHS, <u,0,1,2>
+    765908782U,  // <4,u,5,1>: Cost 1 vzipl RHS, LHS
+    1839650693U, // <4,u,5,2>: Cost 2 vzipl RHS, <u,2,3,0>
+    2016035485U, // <4,u,5,3>: Cost 2 vtrnr <0,4,1,5>, LHS
+    1839650879U, // <4,u,5,4>: Cost 2 vzipl RHS, <u,4,5,6>
+    765909146U,  // <4,u,5,5>: Cost 1 vzipl RHS, RHS
     1618172058U, // <4,u,5,6>: Cost 2 vext3 <1,2,3,4>, RHS
-    3089780265U, // <4,u,5,7>: Cost 3 vtrnr <0,4,1,5>, RHS
-    1618172076U, // <4,u,5,u>: Cost 2 vext3 <1,2,3,4>, RHS
-    1479688294U, // <4,u,6,0>: Cost 2 vext1 <0,4,u,6>, LHS
-    2553430774U, // <4,u,6,1>: Cost 3 vext1 <0,4,u,6>, <1,0,3,2>
-    1973868334U, // <4,u,6,2>: Cost 2 vtrnl RHS, LHS
-    1497606685U, // <4,u,6,3>: Cost 2 vext1 <3,4,u,6>, <3,4,u,6>
+    2016038441U, // <4,u,5,7>: Cost 2 vtrnr <0,4,1,5>, RHS
+    765909349U,  // <4,u,5,u>: Cost 1 vzipl RHS, LHS
+    1479688594U, // <4,u,6,0>: Cost 2 vext1 <0,4,u,6>, <0,4,u,6>
+    1973868243U, // <4,u,6,1>: Cost 2 vtrnl RHS, <u,0,1,2>
+    900126510U,  // <4,u,6,2>: Cost 1 vtrnl RHS, LHS
+    1880719516U, // <4,u,6,3>: Cost 2 vzipr <0,2,4,6>, LHS
     1479691574U, // <4,u,6,4>: Cost 2 vext1 <0,4,u,6>, RHS
-    1509552079U, // <4,u,6,5>: Cost 2 vext1 <5,4,u,6>, <5,4,u,6>
-    1973868698U, // <4,u,6,6>: Cost 2 vtrnl RHS, RHS
+    1973868527U, // <4,u,6,5>: Cost 2 vtrnl RHS, <u,3,5,7>
+    900126874U,  // <4,u,6,6>: Cost 1 vtrnl RHS, RHS
     27705344U,   // <4,u,6,7>: Cost 0 copy RHS
     27705344U,   // <4,u,6,u>: Cost 0 copy RHS
     2565382246U, // <4,u,7,0>: Cost 3 vext1 <2,4,u,7>, LHS
-    2565383066U, // <4,u,7,1>: Cost 3 vext1 <2,4,u,7>, <1,2,3,4>
+    1705579514U, // <4,u,7,1>: Cost 2 vuzpl RHS, <7,0,1,2>
     2565384005U, // <4,u,7,2>: Cost 3 vext1 <2,4,u,7>, <2,4,u,7>
-    2661405966U, // <4,u,7,3>: Cost 3 vext2 <7,3,4,u>, <7,3,4,u>
+    3102032541U, // <4,u,7,3>: Cost 3 vtrnr <2,4,5,7>, LHS
     2565385526U, // <4,u,7,4>: Cost 3 vext1 <2,4,u,7>, RHS
-    2779321702U, // <4,u,7,5>: Cost 3 vuzpl RHS, <7,4,5,6>
-    2589274793U, // <4,u,7,6>: Cost 3 vext1 <6,4,u,7>, <6,4,u,7>
-    2779321964U, // <4,u,7,7>: Cost 3 vuzpl RHS, <7,7,7,7>
-    2565388078U, // <4,u,7,u>: Cost 3 vext1 <2,4,u,7>, LHS
-    1479704678U, // <4,u,u,0>: Cost 2 vext1 <0,4,u,u>, LHS
-    1545197358U, // <4,u,u,1>: Cost 2 vext2 <0,2,4,u>, LHS
-    1618172261U, // <4,u,u,2>: Cost 2 vext3 <1,2,3,4>, LHS
-    1497623071U, // <4,u,u,3>: Cost 2 vext1 <3,4,u,u>, <3,4,u,u>
+    1705579878U, // <4,u,7,5>: Cost 2 vuzpl RHS, <7,4,5,6>
+    2779321546U, // <4,u,7,6>: Cost 3 vuzpl RHS, <7,2,6,3>
+    1705580140U, // <4,u,7,7>: Cost 2 vuzpl RHS, <7,7,7,7>
+    1705579577U, // <4,u,7,u>: Cost 2 vuzpl RHS, <7,0,u,2>
+    1479704980U, // <4,u,u,0>: Cost 2 vext1 <0,4,u,u>, <0,4,u,u>
+    767899438U,  // <4,u,u,1>: Cost 1 vzipl RHS, LHS
+    631838510U,  // <4,u,u,2>: Cost 1 vuzpl RHS, LHS
+    1880735900U, // <4,u,u,3>: Cost 2 vzipr <0,2,4,u>, LHS
     161926454U,  // <4,u,u,4>: Cost 1 vdup0 RHS
-    1545197722U, // <4,u,u,5>: Cost 2 vext2 <0,2,4,u>, RHS
-    1618172301U, // <4,u,u,6>: Cost 2 vext3 <1,2,3,4>, RHS
+    767899802U,  // <4,u,u,5>: Cost 1 vzipl RHS, RHS
+    631838874U,  // <4,u,u,6>: Cost 1 vuzpl RHS, RHS
     27705344U,   // <4,u,u,7>: Cost 0 copy RHS
     27705344U,   // <4,u,u,u>: Cost 0 copy RHS
     2687123456U, // <5,0,0,0>: Cost 3 vext3 <0,4,1,5>, <0,0,0,0>
@@ -3673,18 +3671,18 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2687123476U, // <5,0,0,2>: Cost 3 vext3 <0,4,1,5>, <0,0,2,2>
     3710599434U, // <5,0,0,3>: Cost 4 vext2 <3,2,5,0>, <0,3,2,5>
     2642166098U, // <5,0,0,4>: Cost 3 vext2 <4,1,5,0>, <0,4,1,5>
-    3657060306U, // <5,0,0,5>: Cost 4 vext1 <5,5,0,0>, <5,5,0,0>
-    3292094923U, // <5,0,0,6>: Cost 4 vrev <0,5,6,0>
-    3669005700U, // <5,0,0,7>: Cost 4 vext1 <7,5,0,0>, <7,5,0,0>
+    4047473756U, // <5,0,0,5>: Cost 4 vzipr <3,4,5,0>, <4,3,0,5>
+    3919965799U, // <5,0,0,6>: Cost 4 vuzpr <4,5,6,0>, <5,0,4,6>
+    4047474730U, // <5,0,0,7>: Cost 4 vzipr <3,4,5,0>, <5,6,0,7>
     2687123530U, // <5,0,0,u>: Cost 3 vext3 <0,4,1,5>, <0,0,u,2>
     2559434854U, // <5,0,1,0>: Cost 3 vext1 <1,5,0,1>, LHS
-    2559435887U, // <5,0,1,1>: Cost 3 vext1 <1,5,0,1>, <1,5,0,1>
+    1843003494U, // <5,0,1,1>: Cost 2 vzipl <5,1,7,3>, LHS
     1613381734U, // <5,0,1,2>: Cost 2 vext3 <0,4,1,5>, LHS
-    3698656256U, // <5,0,1,3>: Cost 4 vext2 <1,2,5,0>, <1,3,5,7>
+    2840322150U, // <5,0,1,3>: Cost 3 vuzpr <3,5,7,0>, LHS
     2559438134U, // <5,0,1,4>: Cost 3 vext1 <1,5,0,1>, RHS
     2583326675U, // <5,0,1,5>: Cost 3 vext1 <5,5,0,1>, <5,5,0,1>
     3715908851U, // <5,0,1,6>: Cost 4 vext2 <4,1,5,0>, <1,6,5,7>
-    3657069562U, // <5,0,1,7>: Cost 4 vext1 <5,5,0,1>, <7,0,1,2>
+    3902120798U, // <5,0,1,7>: Cost 4 vuzpr <1,5,7,0>, <1,1,5,7>
     1613381788U, // <5,0,1,u>: Cost 2 vext3 <0,4,1,5>, LHS
     2686017700U, // <5,0,2,0>: Cost 3 vext3 <0,2,4,5>, <0,2,0,2>
     2685796528U, // <5,0,2,1>: Cost 3 vext3 <0,2,1,5>, <0,2,1,5>
@@ -3693,69 +3691,69 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2686017739U, // <5,0,2,4>: Cost 3 vext3 <0,2,4,5>, <0,2,4,5>
     2686091476U, // <5,0,2,5>: Cost 3 vext3 <0,2,5,5>, <0,2,5,5>
     2725167324U, // <5,0,2,6>: Cost 3 vext3 <6,7,4,5>, <0,2,6,4>
-    2595280230U, // <5,0,2,7>: Cost 3 vext1 <7,5,0,2>, <7,4,5,6>
+    2595280262U, // <5,0,2,7>: Cost 3 vext1 <7,5,0,2>, <7,5,0,2>
     2686312687U, // <5,0,2,u>: Cost 3 vext3 <0,2,u,5>, <0,2,u,5>
-    3760128248U, // <5,0,3,0>: Cost 4 vext3 <0,3,0,5>, <0,3,0,5>
-    3759685888U, // <5,0,3,1>: Cost 4 vext3 <0,2,3,5>, <0,3,1,4>
+    2643495062U, // <5,0,3,0>: Cost 3 vext2 <4,3,5,0>, <3,0,1,2>
+    2918047846U, // <5,0,3,1>: Cost 3 vzipl <5,3,7,0>, LHS
     2686533898U, // <5,0,3,2>: Cost 3 vext3 <0,3,2,5>, <0,3,2,5>
     3760349459U, // <5,0,3,3>: Cost 4 vext3 <0,3,3,5>, <0,3,3,5>
     2638187004U, // <5,0,3,4>: Cost 3 vext2 <3,4,5,0>, <3,4,5,0>
-    3776348452U, // <5,0,3,5>: Cost 4 vext3 <3,0,4,5>, <0,3,5,4>
-    3713256094U, // <5,0,3,6>: Cost 4 vext2 <3,6,5,0>, <3,6,5,0>
-    3914064896U, // <5,0,3,7>: Cost 4 vuzpr <3,5,7,0>, <1,3,5,7>
+    2785315330U, // <5,0,3,5>: Cost 3 vuzpl <5,6,0,1>, <3,4,5,6>
+    3919963126U, // <5,0,3,6>: Cost 4 vuzpr <4,5,6,0>, <1,3,4,6>
+    2840323072U, // <5,0,3,7>: Cost 3 vuzpr <3,5,7,0>, <1,3,5,7>
     2686976320U, // <5,0,3,u>: Cost 3 vext3 <0,3,u,5>, <0,3,u,5>
     2559459430U, // <5,0,4,0>: Cost 3 vext1 <1,5,0,4>, LHS
     1613381970U, // <5,0,4,1>: Cost 2 vext3 <0,4,1,5>, <0,4,1,5>
     2687123804U, // <5,0,4,2>: Cost 3 vext3 <0,4,1,5>, <0,4,2,6>
-    3761013092U, // <5,0,4,3>: Cost 4 vext3 <0,4,3,5>, <0,4,3,5>
-    2559462710U, // <5,0,4,4>: Cost 3 vext1 <1,5,0,4>, RHS
+    2643496068U, // <5,0,4,3>: Cost 3 vext2 <4,3,5,0>, <4,3,5,0>
+    2687345005U, // <5,0,4,4>: Cost 3 vext3 <0,4,4,5>, <0,4,4,5>
     2638187830U, // <5,0,4,5>: Cost 3 vext2 <3,4,5,0>, RHS
-    3761234303U, // <5,0,4,6>: Cost 4 vext3 <0,4,6,5>, <0,4,6,5>
+    2846222850U, // <5,0,4,6>: Cost 3 vuzpr <4,5,6,0>, <3,4,5,6>
     2646150600U, // <5,0,4,7>: Cost 3 vext2 <4,7,5,0>, <4,7,5,0>
-    1613381970U, // <5,0,4,u>: Cost 2 vext3 <0,4,1,5>, <0,4,1,5>
-    3766763926U, // <5,0,5,0>: Cost 4 vext3 <1,4,0,5>, <0,5,0,1>
-    2919268454U, // <5,0,5,1>: Cost 3 vzipl <5,5,5,5>, LHS
-    3053486182U, // <5,0,5,2>: Cost 3 vtrnl <5,5,5,5>, LHS
-    3723210589U, // <5,0,5,3>: Cost 4 vext2 <5,3,5,0>, <5,3,5,0>
-    3766763966U, // <5,0,5,4>: Cost 4 vext3 <1,4,0,5>, <0,5,4,5>
-    2650796031U, // <5,0,5,5>: Cost 3 vext2 <5,5,5,0>, <5,5,5,0>
-    3719893090U, // <5,0,5,6>: Cost 4 vext2 <4,7,5,0>, <5,6,7,0>
-    3914067254U, // <5,0,5,7>: Cost 4 vuzpr <3,5,7,0>, RHS
-    2919269021U, // <5,0,5,u>: Cost 3 vzipl <5,5,5,5>, LHS
-    4047519744U, // <5,0,6,0>: Cost 4 vzipr <3,4,5,6>, <0,0,0,0>
-    2920038502U, // <5,0,6,1>: Cost 3 vzipl <5,6,7,0>, LHS
-    3759759871U, // <5,0,6,2>: Cost 4 vext3 <0,2,4,5>, <0,6,2,7>
-    3645164070U, // <5,0,6,3>: Cost 4 vext1 <3,5,0,6>, <3,5,0,6>
-    3762414095U, // <5,0,6,4>: Cost 4 vext3 <0,6,4,5>, <0,6,4,5>
-    3993780690U, // <5,0,6,5>: Cost 4 vzipl <5,6,7,0>, <0,5,6,7>
-    3719893816U, // <5,0,6,6>: Cost 4 vext2 <4,7,5,0>, <6,6,6,6>
+    1845019293U, // <5,0,4,u>: Cost 2 vzipl <5,4,7,6>, LHS
+    2840324703U, // <5,0,5,0>: Cost 3 vuzpr <3,5,7,0>, <3,5,7,0>
+    1845526630U, // <5,0,5,1>: Cost 2 vzipl <5,5,5,5>, LHS
+    1979744358U, // <5,0,5,2>: Cost 2 vtrnl <5,5,5,5>, LHS
+    3778707888U, // <5,0,5,3>: Cost 4 vext3 <3,4,0,5>, <0,5,3,0>
+    2919268690U, // <5,0,5,4>: Cost 3 vzipl <5,5,5,5>, <0,4,1,5>
+    2919268834U, // <5,0,5,5>: Cost 3 vzipl <5,5,5,5>, <0,5,u,5>
+    3914065048U, // <5,0,5,6>: Cost 4 vuzpr <3,5,7,0>, <1,5,4,6>
+    2840325430U, // <5,0,5,7>: Cost 3 vuzpr <3,5,7,0>, RHS
+    1845527197U, // <5,0,5,u>: Cost 2 vzipl <5,5,5,5>, LHS
+    2973777920U, // <5,0,6,0>: Cost 3 vzipr <3,4,5,6>, <0,0,0,0>
+    1846296678U, // <5,0,6,1>: Cost 2 vzipl <5,6,7,0>, LHS
+    2967806116U, // <5,0,6,2>: Cost 3 vzipr <2,4,5,6>, <0,2,0,2>
+    4047520800U, // <5,0,6,3>: Cost 4 vzipr <3,4,5,6>, <1,4,0,3>
+    2920038738U, // <5,0,6,4>: Cost 3 vzipl <5,6,7,0>, <0,4,1,5>
+    2920038866U, // <5,0,6,5>: Cost 3 vzipl <5,6,7,0>, <0,5,6,7>
+    4041548106U, // <5,0,6,6>: Cost 4 vzipr <2,4,5,6>, <0,4,0,6>
     2662077302U, // <5,0,6,7>: Cost 3 vext2 <7,4,5,0>, <6,7,4,5>
-    2920039069U, // <5,0,6,u>: Cost 3 vzipl <5,6,7,0>, LHS
-    2565455974U, // <5,0,7,0>: Cost 3 vext1 <2,5,0,7>, LHS
-    2565456790U, // <5,0,7,1>: Cost 3 vext1 <2,5,0,7>, <1,2,3,0>
-    2565457742U, // <5,0,7,2>: Cost 3 vext1 <2,5,0,7>, <2,5,0,7>
-    3639199894U, // <5,0,7,3>: Cost 4 vext1 <2,5,0,7>, <3,0,1,2>
+    1846297245U, // <5,0,6,u>: Cost 2 vzipl <5,6,7,0>, LHS
+    2040971264U, // <5,0,7,0>: Cost 2 vtrnr RHS, <0,0,0,0>
+    2040971274U, // <5,0,7,1>: Cost 2 vtrnr RHS, <0,0,1,1>
+    2040971284U, // <5,0,7,2>: Cost 2 vtrnr RHS, <0,0,2,2>
+    3114714558U, // <5,0,7,3>: Cost 3 vtrnr RHS, <2,0,1,3>
     2565459254U, // <5,0,7,4>: Cost 3 vext1 <2,5,0,7>, RHS
-    2589347938U, // <5,0,7,5>: Cost 3 vext1 <6,5,0,7>, <5,6,7,0>
-    2589348530U, // <5,0,7,6>: Cost 3 vext1 <6,5,0,7>, <6,5,0,7>
-    4188456422U, // <5,0,7,7>: Cost 4 vtrnr RHS, <2,0,5,7>
-    2565461806U, // <5,0,7,u>: Cost 3 vext1 <2,5,0,7>, LHS
-    2687124106U, // <5,0,u,0>: Cost 3 vext3 <0,4,1,5>, <0,u,0,2>
+    3114715316U, // <5,0,7,5>: Cost 3 vtrnr RHS, <3,0,4,5>
+    3114713130U, // <5,0,7,6>: Cost 3 vtrnr RHS, <0,0,4,6>
+    3114714598U, // <5,0,7,7>: Cost 3 vtrnr RHS, <2,0,5,7>
+    2040971281U, // <5,0,7,u>: Cost 2 vtrnr RHS, <0,0,1,u>
+    2040979456U, // <5,0,u,0>: Cost 2 vtrnr RHS, <0,0,0,0>
     1616036502U, // <5,0,u,1>: Cost 2 vext3 <0,u,1,5>, <0,u,1,5>
     1613382301U, // <5,0,u,2>: Cost 2 vext3 <0,4,1,5>, LHS
     2689925800U, // <5,0,u,3>: Cost 3 vext3 <0,u,3,5>, <0,u,3,5>
     2687124146U, // <5,0,u,4>: Cost 3 vext3 <0,4,1,5>, <0,u,4,6>
     2638190746U, // <5,0,u,5>: Cost 3 vext2 <3,4,5,0>, RHS
-    2589356723U, // <5,0,u,6>: Cost 3 vext1 <6,5,0,u>, <6,5,0,u>
-    2595280230U, // <5,0,u,7>: Cost 3 vext1 <7,5,0,2>, <7,4,5,6>
+    3114721322U, // <5,0,u,6>: Cost 3 vtrnr RHS, <0,0,4,6>
+    2840325673U, // <5,0,u,7>: Cost 3 vuzpr <3,5,7,0>, RHS
     1613382355U, // <5,0,u,u>: Cost 2 vext3 <0,4,1,5>, LHS
     2646818816U, // <5,1,0,0>: Cost 3 vext2 <4,u,5,1>, <0,0,0,0>
     1573077094U, // <5,1,0,1>: Cost 2 vext2 <4,u,5,1>, LHS
-    2646818980U, // <5,1,0,2>: Cost 3 vext2 <4,u,5,1>, <0,2,0,2>
+    1712324710U, // <5,1,0,2>: Cost 2 vuzpl <5,7,1,3>, LHS
     2687124214U, // <5,1,0,3>: Cost 3 vext3 <0,4,1,5>, <1,0,3,2>
     2641510738U, // <5,1,0,4>: Cost 3 vext2 <4,0,5,1>, <0,4,1,5>
-    2641510814U, // <5,1,0,5>: Cost 3 vext2 <4,0,5,1>, <0,5,1,0>
-    3720561142U, // <5,1,0,6>: Cost 4 vext2 <4,u,5,1>, <0,6,1,7>
+    2977710418U, // <5,1,0,5>: Cost 3 vzipr <4,1,5,0>, <0,4,1,5>
+    4051452243U, // <5,1,0,6>: Cost 4 vzipr <4,1,5,0>, <0,4,1,6>
     3298141357U, // <5,1,0,7>: Cost 4 vrev <1,5,7,0>
     1573077661U, // <5,1,0,u>: Cost 2 vext2 <4,u,5,1>, LHS
     2223891567U, // <5,1,1,0>: Cost 3 vrev <1,5,0,1>
@@ -3765,25 +3763,25 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2691326803U, // <5,1,1,4>: Cost 3 vext3 <1,1,4,5>, <1,1,4,5>
     2691400540U, // <5,1,1,5>: Cost 3 vext3 <1,1,5,5>, <1,1,5,5>
     3765216101U, // <5,1,1,6>: Cost 4 vext3 <1,1,6,5>, <1,1,6,5>
-    3765289838U, // <5,1,1,7>: Cost 4 vext3 <1,1,7,5>, <1,1,7,5>
+    2982367283U, // <5,1,1,7>: Cost 3 vzipr <4,u,5,1>, <5,6,1,7>
     2687124341U, // <5,1,1,u>: Cost 3 vext3 <0,4,1,5>, <1,1,u,3>
-    3297641584U, // <5,1,2,0>: Cost 4 vrev <1,5,0,2>
+    2223899760U, // <5,1,2,0>: Cost 3 vrev <1,5,0,2>
     3763520391U, // <5,1,2,1>: Cost 4 vext3 <0,u,1,5>, <1,2,1,3>
     2646820456U, // <5,1,2,2>: Cost 3 vext2 <4,u,5,1>, <2,2,2,2>
     2687124374U, // <5,1,2,3>: Cost 3 vext3 <0,4,1,5>, <1,2,3,0>
-    2691990436U, // <5,1,2,4>: Cost 3 vext3 <1,2,4,5>, <1,2,4,5>
+    2786068174U, // <5,1,2,4>: Cost 3 vuzpl <5,7,1,3>, <2,3,4,5>
     2687124395U, // <5,1,2,5>: Cost 3 vext3 <0,4,1,5>, <1,2,5,3>
     2646820794U, // <5,1,2,6>: Cost 3 vext2 <4,u,5,1>, <2,6,3,7>
-    3808199610U, // <5,1,2,7>: Cost 4 vext3 <u,3,4,5>, <1,2,7,0>
+    3859810183U, // <5,1,2,7>: Cost 4 vuzpl <5,7,1,3>, <2,5,7,1>
     2687124419U, // <5,1,2,u>: Cost 3 vext3 <0,4,1,5>, <1,2,u,0>
-    2577440870U, // <5,1,3,0>: Cost 3 vext1 <4,5,1,3>, LHS
+    2571468902U, // <5,1,3,0>: Cost 3 vext1 <3,5,1,3>, LHS
     2687124440U, // <5,1,3,1>: Cost 3 vext3 <0,4,1,5>, <1,3,1,3>
-    3759686627U, // <5,1,3,2>: Cost 4 vext3 <0,2,3,5>, <1,3,2,5>
+    2571470542U, // <5,1,3,2>: Cost 3 vext1 <3,5,1,3>, <2,3,4,5>
     2692580332U, // <5,1,3,3>: Cost 3 vext3 <1,3,3,5>, <1,3,3,5>
     2687124469U, // <5,1,3,4>: Cost 3 vext3 <0,4,1,5>, <1,3,4,5>
     2685207552U, // <5,1,3,5>: Cost 3 vext3 <0,1,2,5>, <1,3,5,7>
-    3760866313U, // <5,1,3,6>: Cost 4 vext3 <0,4,1,5>, <1,3,6,7>
-    2692875280U, // <5,1,3,7>: Cost 3 vext3 <1,3,7,5>, <1,3,7,5>
+    2595361654U, // <5,1,3,6>: Cost 3 vext1 <7,5,1,3>, <6,7,4,5>
+    2840331264U, // <5,1,3,7>: Cost 3 vuzpr <3,5,7,1>, <1,3,5,7>
     2687124503U, // <5,1,3,u>: Cost 3 vext3 <0,4,1,5>, <1,3,u,3>
     1567771538U, // <5,1,4,0>: Cost 2 vext2 <4,0,5,1>, <4,0,5,1>
     2693096491U, // <5,1,4,1>: Cost 3 vext3 <1,4,1,5>, <1,4,1,5>
@@ -3791,211 +3789,211 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2687124541U, // <5,1,4,3>: Cost 3 vext3 <0,4,1,5>, <1,4,3,5>
     2646822096U, // <5,1,4,4>: Cost 3 vext2 <4,u,5,1>, <4,4,4,4>
     1573080374U, // <5,1,4,5>: Cost 2 vext2 <4,u,5,1>, RHS
-    2646822260U, // <5,1,4,6>: Cost 3 vext2 <4,u,5,1>, <4,6,4,6>
+    1712327990U, // <5,1,4,6>: Cost 2 vuzpl <5,7,1,3>, RHS
     3298174129U, // <5,1,4,7>: Cost 4 vrev <1,5,7,4>
     1573080602U, // <5,1,4,u>: Cost 2 vext2 <4,u,5,1>, <4,u,5,1>
     2687124591U, // <5,1,5,0>: Cost 3 vext3 <0,4,1,5>, <1,5,0,1>
-    2646822543U, // <5,1,5,1>: Cost 3 vext2 <4,u,5,1>, <5,1,0,1>
-    3760866433U, // <5,1,5,2>: Cost 4 vext3 <0,4,1,5>, <1,5,2,1>
-    2687124624U, // <5,1,5,3>: Cost 3 vext3 <0,4,1,5>, <1,5,3,7>
+    1712328832U, // <5,1,5,1>: Cost 2 vuzpl <5,7,1,3>, <5,7,1,3>
+    2982398102U, // <5,1,5,2>: Cost 3 vzipr <4,u,5,5>, <3,0,1,2>
+    2046853222U, // <5,1,5,3>: Cost 2 vtrnr <5,5,5,5>, LHS
     2687124631U, // <5,1,5,4>: Cost 3 vext3 <0,4,1,5>, <1,5,4,5>
-    2646822916U, // <5,1,5,5>: Cost 3 vext2 <4,u,5,1>, <5,5,5,5>
+    2959835474U, // <5,1,5,5>: Cost 3 vzipr <1,1,5,5>, <0,4,1,5>
     2646823010U, // <5,1,5,6>: Cost 3 vext2 <4,u,5,1>, <5,6,7,0>
-    2646823080U, // <5,1,5,7>: Cost 3 vext2 <4,u,5,1>, <5,7,5,7>
-    2687124663U, // <5,1,5,u>: Cost 3 vext3 <0,4,1,5>, <1,5,u,1>
-    2553577574U, // <5,1,6,0>: Cost 3 vext1 <0,5,1,6>, LHS
-    3763520719U, // <5,1,6,1>: Cost 4 vext3 <0,u,1,5>, <1,6,1,7>
-    2646823418U, // <5,1,6,2>: Cost 3 vext2 <4,u,5,1>, <6,2,7,3>
-    3760866529U, // <5,1,6,3>: Cost 4 vext3 <0,4,1,5>, <1,6,3,7>
-    2553580854U, // <5,1,6,4>: Cost 3 vext1 <0,5,1,6>, RHS
-    2687124723U, // <5,1,6,5>: Cost 3 vext3 <0,4,1,5>, <1,6,5,7>
+    2827873590U, // <5,1,5,7>: Cost 3 vuzpr <1,5,0,1>, RHS
+    2046853227U, // <5,1,5,u>: Cost 2 vtrnr <5,5,5,5>, LHS
+    2920039158U, // <5,1,6,0>: Cost 3 vzipl <5,6,7,0>, <1,0,3,2>
+    2961834642U, // <5,1,6,1>: Cost 3 vzipr <1,4,5,6>, <0,u,1,1>
+    2973780118U, // <5,1,6,2>: Cost 3 vzipr <3,4,5,6>, <3,0,1,2>
+    3096641638U, // <5,1,6,3>: Cost 3 vtrnr <1,5,4,6>, LHS
+    2224227480U, // <5,1,6,4>: Cost 3 vrev <1,5,4,6>
+    2973778258U, // <5,1,6,5>: Cost 3 vzipr <3,4,5,6>, <0,4,1,5>
     2646823736U, // <5,1,6,6>: Cost 3 vext2 <4,u,5,1>, <6,6,6,6>
     2646823758U, // <5,1,6,7>: Cost 3 vext2 <4,u,5,1>, <6,7,0,1>
-    2646823839U, // <5,1,6,u>: Cost 3 vext2 <4,u,5,1>, <6,u,0,1>
+    3096641643U, // <5,1,6,u>: Cost 3 vtrnr <1,5,4,6>, LHS
     2559557734U, // <5,1,7,0>: Cost 3 vext1 <1,5,1,7>, LHS
-    2559558452U, // <5,1,7,1>: Cost 3 vext1 <1,5,1,7>, <1,1,1,1>
-    2571503270U, // <5,1,7,2>: Cost 3 vext1 <3,5,1,7>, <2,3,0,1>
-    2040971366U, // <5,1,7,3>: Cost 2 vtrnr RHS, LHS
+    2040972084U, // <5,1,7,1>: Cost 2 vtrnr RHS, <1,1,1,1>
+    2961180822U, // <5,1,7,2>: Cost 3 vzipr <1,3,5,7>, <3,0,1,2>
+    967229542U,  // <5,1,7,3>: Cost 1 vtrnr RHS, LHS
     2559561014U, // <5,1,7,4>: Cost 3 vext1 <1,5,1,7>, RHS
-    2595393232U, // <5,1,7,5>: Cost 3 vext1 <7,5,1,7>, <5,1,7,3>
-    4188455035U, // <5,1,7,6>: Cost 4 vtrnr RHS, <0,1,4,6>
-    2646824556U, // <5,1,7,7>: Cost 3 vext2 <4,u,5,1>, <7,7,7,7>
-    2040971371U, // <5,1,7,u>: Cost 2 vtrnr RHS, LHS
+    2961178800U, // <5,1,7,5>: Cost 3 vzipr <1,3,5,7>, <0,2,1,5>
+    3114713211U, // <5,1,7,6>: Cost 3 vtrnr RHS, <0,1,4,6>
+    3114713950U, // <5,1,7,7>: Cost 3 vtrnr RHS, <1,1,5,7>
+    967229547U,  // <5,1,7,u>: Cost 1 vtrnr RHS, LHS
     1591662326U, // <5,1,u,0>: Cost 2 vext2 <u,0,5,1>, <u,0,5,1>
-    1573082926U, // <5,1,u,1>: Cost 2 vext2 <4,u,5,1>, LHS
-    2695824760U, // <5,1,u,2>: Cost 3 vext3 <1,u,2,5>, <1,u,2,5>
-    2040979558U, // <5,1,u,3>: Cost 2 vtrnr RHS, LHS
+    2040980276U, // <5,1,u,1>: Cost 2 vtrnr RHS, <1,1,1,1>
+    1712330542U, // <5,1,u,2>: Cost 2 vuzpl <5,7,1,3>, LHS
+    967237734U,  // <5,1,u,3>: Cost 1 vtrnr RHS, LHS
     2687124874U, // <5,1,u,4>: Cost 3 vext3 <0,4,1,5>, <1,u,4,5>
     1573083290U, // <5,1,u,5>: Cost 2 vext2 <4,u,5,1>, RHS
-    2646825168U, // <5,1,u,6>: Cost 3 vext2 <4,u,5,1>, <u,6,3,7>
-    2646825216U, // <5,1,u,7>: Cost 3 vext2 <4,u,5,1>, <u,7,0,1>
-    2040979563U, // <5,1,u,u>: Cost 2 vtrnr RHS, LHS
-    3702652928U, // <5,2,0,0>: Cost 4 vext2 <1,u,5,2>, <0,0,0,0>
+    1712330906U, // <5,1,u,6>: Cost 2 vuzpl <5,7,1,3>, RHS
+    2827873833U, // <5,1,u,7>: Cost 3 vuzpr <1,5,0,1>, RHS
+    967237739U,  // <5,1,u,u>: Cost 1 vtrnr RHS, LHS
+    2786132132U, // <5,2,0,0>: Cost 3 vuzpl <5,7,2,2>, <0,2,0,2>
     2628911206U, // <5,2,0,1>: Cost 3 vext2 <1,u,5,2>, LHS
-    2641518756U, // <5,2,0,2>: Cost 3 vext2 <4,0,5,2>, <0,2,0,2>
-    3759760847U, // <5,2,0,3>: Cost 4 vext3 <0,2,4,5>, <2,0,3,2>
-    3760866775U, // <5,2,0,4>: Cost 4 vext3 <0,4,1,5>, <2,0,4,1>
+    2786115686U, // <5,2,0,2>: Cost 3 vuzpl <5,7,2,0>, LHS
+    2973728870U, // <5,2,0,3>: Cost 3 vzipr <3,4,5,0>, LHS
+    2786164940U, // <5,2,0,4>: Cost 3 vuzpl <5,7,2,6>, <0,2,4,6>
     3759539680U, // <5,2,0,5>: Cost 4 vext3 <0,2,1,5>, <2,0,5,1>
     3760866796U, // <5,2,0,6>: Cost 4 vext3 <0,4,1,5>, <2,0,6,4>
-    3304114054U, // <5,2,0,7>: Cost 4 vrev <2,5,7,0>
+    4176012936U, // <5,2,0,7>: Cost 4 vtrnr <2,5,0,0>, <2,2,5,7>
     2628911773U, // <5,2,0,u>: Cost 3 vext2 <1,u,5,2>, LHS
-    2623603464U, // <5,2,1,0>: Cost 3 vext2 <1,0,5,2>, <1,0,5,2>
+    3054503590U, // <5,2,1,0>: Cost 3 vtrnl <5,7,1,3>, <2,3,0,1>
     3698008921U, // <5,2,1,1>: Cost 4 vext2 <1,1,5,2>, <1,1,5,2>
-    3633325603U, // <5,2,1,2>: Cost 4 vext1 <1,5,2,1>, <2,1,3,5>
-    2687125027U, // <5,2,1,3>: Cost 3 vext3 <0,4,1,5>, <2,1,3,5>
-    3633327414U, // <5,2,1,4>: Cost 4 vext1 <1,5,2,1>, RHS
-    3759539760U, // <5,2,1,5>: Cost 4 vext3 <0,2,1,5>, <2,1,5,0>
-    3760866876U, // <5,2,1,6>: Cost 4 vext3 <0,4,1,5>, <2,1,6,3>
-    3304122247U, // <5,2,1,7>: Cost 4 vrev <2,5,7,1>
-    2687125072U, // <5,2,1,u>: Cost 3 vext3 <0,4,1,5>, <2,1,u,5>
-    3633332326U, // <5,2,2,0>: Cost 4 vext1 <1,5,2,2>, LHS
+    2982363156U, // <5,2,1,2>: Cost 3 vzipr <4,u,5,1>, <0,0,2,2>
+    1908621414U, // <5,2,1,3>: Cost 2 vzipr <4,u,5,1>, LHS
+    3054503630U, // <5,2,1,4>: Cost 3 vtrnl <5,7,1,3>, <2,3,4,5>
+    2601390208U, // <5,2,1,5>: Cost 3 vext1 <u,5,2,1>, <5,7,1,3>
+    2982363484U, // <5,2,1,6>: Cost 3 vzipr <4,u,5,1>, <0,4,2,6>
+    2916747271U, // <5,2,1,7>: Cost 3 vzipl <5,1,7,3>, <2,7,3,3>
+    1908621419U, // <5,2,1,u>: Cost 2 vzipr <4,u,5,1>, LHS
+    3764037205U, // <5,2,2,0>: Cost 4 vext3 <0,u,u,5>, <2,2,0,1>
     3759760992U, // <5,2,2,1>: Cost 4 vext3 <0,2,4,5>, <2,2,1,3>
     2687125096U, // <5,2,2,2>: Cost 3 vext3 <0,4,1,5>, <2,2,2,2>
     2687125106U, // <5,2,2,3>: Cost 3 vext3 <0,4,1,5>, <2,2,3,3>
     2697963133U, // <5,2,2,4>: Cost 3 vext3 <2,2,4,5>, <2,2,4,5>
     3759466120U, // <5,2,2,5>: Cost 4 vext3 <0,2,0,5>, <2,2,5,7>
     3760866960U, // <5,2,2,6>: Cost 4 vext3 <0,4,1,5>, <2,2,6,6>
-    3771926168U, // <5,2,2,7>: Cost 4 vext3 <2,2,7,5>, <2,2,7,5>
+    3901624065U, // <5,2,2,7>: Cost 4 vuzpr <1,5,0,2>, <5,2,3,7>
     2687125151U, // <5,2,2,u>: Cost 3 vext3 <0,4,1,5>, <2,2,u,3>
     2687125158U, // <5,2,3,0>: Cost 3 vext3 <0,4,1,5>, <2,3,0,1>
     2698405555U, // <5,2,3,1>: Cost 3 vext3 <2,3,1,5>, <2,3,1,5>
     2577516238U, // <5,2,3,2>: Cost 3 vext1 <4,5,2,3>, <2,3,4,5>
-    3759687365U, // <5,2,3,3>: Cost 4 vext3 <0,2,3,5>, <2,3,3,5>
+    2960482406U, // <5,2,3,3>: Cost 3 vzipr <1,2,5,3>, LHS
     1624884942U, // <5,2,3,4>: Cost 2 vext3 <2,3,4,5>, <2,3,4,5>
-    2698700503U, // <5,2,3,5>: Cost 3 vext3 <2,3,5,5>, <2,3,5,5>
-    3772368608U, // <5,2,3,6>: Cost 4 vext3 <2,3,4,5>, <2,3,6,5>
-    3702655716U, // <5,2,3,7>: Cost 4 vext2 <1,u,5,2>, <3,7,3,7>
+    2717943511U, // <5,2,3,5>: Cost 3 vext3 <5,5,5,5>, <2,3,5,5>
+    4034224476U, // <5,2,3,6>: Cost 4 vzipr <1,2,5,3>, <0,4,2,6>
+    2827879424U, // <5,2,3,7>: Cost 3 vuzpr <1,5,0,2>, <1,3,5,7>
     1625179890U, // <5,2,3,u>: Cost 2 vext3 <2,3,u,5>, <2,3,u,5>
-    2641521555U, // <5,2,4,0>: Cost 3 vext2 <4,0,5,2>, <4,0,5,2>
-    3772368642U, // <5,2,4,1>: Cost 4 vext3 <2,3,4,5>, <2,4,1,3>
+    2698626808U, // <5,2,4,0>: Cost 3 vext3 <2,3,4,5>, <2,4,0,2>
+    2642185188U, // <5,2,4,1>: Cost 3 vext2 <4,1,5,2>, <4,1,5,2>
     2699142925U, // <5,2,4,2>: Cost 3 vext3 <2,4,2,5>, <2,4,2,5>
     2698626838U, // <5,2,4,3>: Cost 3 vext3 <2,3,4,5>, <2,4,3,5>
     2698626848U, // <5,2,4,4>: Cost 3 vext3 <2,3,4,5>, <2,4,4,6>
     2628914486U, // <5,2,4,5>: Cost 3 vext2 <1,u,5,2>, RHS
-    2645503353U, // <5,2,4,6>: Cost 3 vext2 <4,6,5,2>, <4,6,5,2>
+    2839824898U, // <5,2,4,6>: Cost 3 vuzpr <3,5,0,2>, <3,4,5,6>
     3304146826U, // <5,2,4,7>: Cost 4 vrev <2,5,7,4>
     2628914729U, // <5,2,4,u>: Cost 3 vext2 <1,u,5,2>, RHS
-    2553643110U, // <5,2,5,0>: Cost 3 vext1 <0,5,2,5>, LHS
+    3053487782U, // <5,2,5,0>: Cost 3 vtrnl <5,5,5,5>, <2,3,0,1>
     3758950227U, // <5,2,5,1>: Cost 4 vext3 <0,1,2,5>, <2,5,1,3>
-    3759761248U, // <5,2,5,2>: Cost 4 vext3 <0,2,4,5>, <2,5,2,7>
-    2982396006U, // <5,2,5,3>: Cost 3 vzipr <4,u,5,5>, LHS
-    2553646390U, // <5,2,5,4>: Cost 3 vext1 <0,5,2,5>, RHS
-    2553647108U, // <5,2,5,5>: Cost 3 vext1 <0,5,2,5>, <5,5,5,5>
-    3760867204U, // <5,2,5,6>: Cost 4 vext3 <0,4,1,5>, <2,5,6,7>
-    3702657141U, // <5,2,5,7>: Cost 4 vext2 <1,u,5,2>, <5,7,0,1>
-    2982396011U, // <5,2,5,u>: Cost 3 vzipr <4,u,5,5>, LHS
-    3627393126U, // <5,2,6,0>: Cost 4 vext1 <0,5,2,6>, LHS
+    2827879536U, // <5,2,5,2>: Cost 3 vuzpr <1,5,0,2>, <1,5,0,2>
+    1908654182U, // <5,2,5,3>: Cost 2 vzipr <4,u,5,5>, LHS
+    3053487822U, // <5,2,5,4>: Cost 3 vtrnl <5,5,5,5>, <2,3,4,5>
+    3053487831U, // <5,2,5,5>: Cost 3 vtrnl <5,5,5,5>, <2,3,5,5>
+    2982396252U, // <5,2,5,6>: Cost 3 vzipr <4,u,5,5>, <0,4,2,6>
+    2827881782U, // <5,2,5,7>: Cost 3 vuzpr <1,5,0,2>, RHS
+    1908654187U, // <5,2,5,u>: Cost 2 vzipr <4,u,5,5>, LHS
+    3627393453U, // <5,2,6,0>: Cost 4 vext1 <0,5,2,6>, <0,5,2,6>
     3760867236U, // <5,2,6,1>: Cost 4 vext3 <0,4,1,5>, <2,6,1,3>
-    2645504506U, // <5,2,6,2>: Cost 3 vext2 <4,6,5,2>, <6,2,7,3>
-    2687125434U, // <5,2,6,3>: Cost 3 vext3 <0,4,1,5>, <2,6,3,7>
+    2973777940U, // <5,2,6,2>: Cost 3 vzipr <3,4,5,6>, <0,0,2,2>
+    1900036198U, // <5,2,6,3>: Cost 2 vzipr <3,4,5,6>, LHS
     2700617665U, // <5,2,6,4>: Cost 3 vext3 <2,6,4,5>, <2,6,4,5>
-    3760867276U, // <5,2,6,5>: Cost 4 vext3 <0,4,1,5>, <2,6,5,7>
-    3763521493U, // <5,2,6,6>: Cost 4 vext3 <0,u,1,5>, <2,6,6,7>
-    3719246670U, // <5,2,6,7>: Cost 4 vext2 <4,6,5,2>, <6,7,0,1>
-    2687125479U, // <5,2,6,u>: Cost 3 vext3 <0,4,1,5>, <2,6,u,7>
-    2565603430U, // <5,2,7,0>: Cost 3 vext1 <2,5,2,7>, LHS
-    2553660150U, // <5,2,7,1>: Cost 3 vext1 <0,5,2,7>, <1,0,3,2>
-    2565605216U, // <5,2,7,2>: Cost 3 vext1 <2,5,2,7>, <2,5,2,7>
-    2961178726U, // <5,2,7,3>: Cost 3 vzipr <1,3,5,7>, LHS
-    2565606710U, // <5,2,7,4>: Cost 3 vext1 <2,5,2,7>, RHS
-    4034920552U, // <5,2,7,5>: Cost 4 vzipr <1,3,5,7>, <0,1,2,5>
-    3114713292U, // <5,2,7,6>: Cost 3 vtrnr RHS, <0,2,4,6>
-    3702658668U, // <5,2,7,7>: Cost 4 vext2 <1,u,5,2>, <7,7,7,7>
-    2961178731U, // <5,2,7,u>: Cost 3 vzipr <1,3,5,7>, LHS
-    2687125563U, // <5,2,u,0>: Cost 3 vext3 <0,4,1,5>, <2,u,0,1>
+    2973778186U, // <5,2,6,5>: Cost 3 vzipr <3,4,5,6>, <0,3,2,5>
+    2973778268U, // <5,2,6,6>: Cost 3 vzipr <3,4,5,6>, <0,4,2,6>
+    3901622202U, // <5,2,6,7>: Cost 4 vuzpr <1,5,0,2>, <2,6,3,7>
+    1900036203U, // <5,2,6,u>: Cost 2 vzipr <3,4,5,6>, LHS
+    2040972182U, // <5,2,7,0>: Cost 2 vtrnr RHS, <1,2,3,0>
+    3114713251U, // <5,2,7,1>: Cost 3 vtrnr RHS, <0,2,0,1>
+    2040971428U, // <5,2,7,2>: Cost 2 vtrnr RHS, <0,2,0,2>
+    1887436902U, // <5,2,7,3>: Cost 2 vzipr <1,3,5,7>, LHS
+    2040972186U, // <5,2,7,4>: Cost 2 vtrnr RHS, <1,2,3,4>
+    2961178728U, // <5,2,7,5>: Cost 3 vzipr <1,3,5,7>, <0,1,2,5>
+    2040971468U, // <5,2,7,6>: Cost 2 vtrnr RHS, <0,2,4,6>
+    3114713302U, // <5,2,7,7>: Cost 3 vtrnr RHS, <0,2,5,7>
+    1887436907U, // <5,2,7,u>: Cost 2 vzipr <1,3,5,7>, LHS
+    2040980374U, // <5,2,u,0>: Cost 2 vtrnr RHS, <1,2,3,0>
     2628917038U, // <5,2,u,1>: Cost 3 vext2 <1,u,5,2>, LHS
-    2565613409U, // <5,2,u,2>: Cost 3 vext1 <2,5,2,u>, <2,5,2,u>
-    2687125592U, // <5,2,u,3>: Cost 3 vext3 <0,4,1,5>, <2,u,3,3>
+    2040979620U, // <5,2,u,2>: Cost 2 vtrnr RHS, <0,2,0,2>
+    1887445094U, // <5,2,u,3>: Cost 2 vzipr <1,3,5,u>, LHS
     1628203107U, // <5,2,u,4>: Cost 2 vext3 <2,u,4,5>, <2,u,4,5>
     2628917402U, // <5,2,u,5>: Cost 3 vext2 <1,u,5,2>, RHS
-    2702092405U, // <5,2,u,6>: Cost 3 vext3 <2,u,6,5>, <2,u,6,5>
-    3304179598U, // <5,2,u,7>: Cost 4 vrev <2,5,7,u>
-    1628498055U, // <5,2,u,u>: Cost 2 vext3 <2,u,u,5>, <2,u,u,5>
+    2040979660U, // <5,2,u,6>: Cost 2 vtrnr RHS, <0,2,4,6>
+    2827882025U, // <5,2,u,7>: Cost 3 vuzpr <1,5,0,2>, RHS
+    1887445099U, // <5,2,u,u>: Cost 2 vzipr <1,3,5,u>, LHS
     3760867467U, // <5,3,0,0>: Cost 4 vext3 <0,4,1,5>, <3,0,0,0>
     2687125654U, // <5,3,0,1>: Cost 3 vext3 <0,4,1,5>, <3,0,1,2>
-    3759761565U, // <5,3,0,2>: Cost 4 vext3 <0,2,4,5>, <3,0,2,0>
+    2782904422U, // <5,3,0,2>: Cost 3 vuzpl <5,2,3,4>, LHS
     3633391766U, // <5,3,0,3>: Cost 4 vext1 <1,5,3,0>, <3,0,1,2>
     2687125680U, // <5,3,0,4>: Cost 3 vext3 <0,4,1,5>, <3,0,4,1>
-    3760277690U, // <5,3,0,5>: Cost 4 vext3 <0,3,2,5>, <3,0,5,2>
-    3310013014U, // <5,3,0,6>: Cost 4 vrev <3,5,6,0>
+    3053750786U, // <5,3,0,5>: Cost 3 vtrnl <5,6,0,1>, <3,4,5,6>
+    4188398582U, // <5,3,0,6>: Cost 4 vtrnr <4,5,6,0>, <1,3,4,6>
     2236344927U, // <5,3,0,7>: Cost 3 vrev <3,5,7,0>
     2687125717U, // <5,3,0,u>: Cost 3 vext3 <0,4,1,5>, <3,0,u,2>
-    3760867551U, // <5,3,1,0>: Cost 4 vext3 <0,4,1,5>, <3,1,0,3>
-    3760867558U, // <5,3,1,1>: Cost 4 vext3 <0,4,1,5>, <3,1,1,1>
+    2982364054U, // <5,3,1,0>: Cost 3 vzipr <4,u,5,1>, <1,2,3,0>
+    3054504086U, // <5,3,1,1>: Cost 3 vtrnl <5,7,1,3>, <3,0,1,2>
     2624938923U, // <5,3,1,2>: Cost 3 vext2 <1,2,5,3>, <1,2,5,3>
     2703198460U, // <5,3,1,3>: Cost 3 vext3 <3,1,3,5>, <3,1,3,5>
-    3760867587U, // <5,3,1,4>: Cost 4 vext3 <0,4,1,5>, <3,1,4,3>
+    2982364058U, // <5,3,1,4>: Cost 3 vzipr <4,u,5,1>, <1,2,3,4>
     2636219536U, // <5,3,1,5>: Cost 3 vext2 <3,1,5,3>, <1,5,3,7>
     3698681075U, // <5,3,1,6>: Cost 4 vext2 <1,2,5,3>, <1,6,5,7>
-    2703493408U, // <5,3,1,7>: Cost 3 vext3 <3,1,7,5>, <3,1,7,5>
+    2964448400U, // <5,3,1,7>: Cost 3 vzipr <1,u,5,1>, <1,5,3,7>
     2628920721U, // <5,3,1,u>: Cost 3 vext2 <1,u,5,3>, <1,u,5,3>
-    3766765870U, // <5,3,2,0>: Cost 4 vext3 <1,4,0,5>, <3,2,0,1>
+    2235845154U, // <5,3,2,0>: Cost 3 vrev <3,5,0,2>
     3698681379U, // <5,3,2,1>: Cost 4 vext2 <1,2,5,3>, <2,1,3,5>
     3760867649U, // <5,3,2,2>: Cost 4 vext3 <0,4,1,5>, <3,2,2,2>
     2698627404U, // <5,3,2,3>: Cost 3 vext3 <2,3,4,5>, <3,2,3,4>
     2703935830U, // <5,3,2,4>: Cost 3 vext3 <3,2,4,5>, <3,2,4,5>
     2698627422U, // <5,3,2,5>: Cost 3 vext3 <2,3,4,5>, <3,2,5,4>
     3760867686U, // <5,3,2,6>: Cost 4 vext3 <0,4,1,5>, <3,2,6,3>
-    3769788783U, // <5,3,2,7>: Cost 4 vext3 <1,u,5,5>, <3,2,7,3>
+    3096314880U, // <5,3,2,7>: Cost 3 vtrnr <1,5,0,2>, <1,3,5,7>
     2701945209U, // <5,3,2,u>: Cost 3 vext3 <2,u,4,5>, <3,2,u,4>
     3760867711U, // <5,3,3,0>: Cost 4 vext3 <0,4,1,5>, <3,3,0,1>
     2636220684U, // <5,3,3,1>: Cost 3 vext2 <3,1,5,3>, <3,1,5,3>
-    3772369298U, // <5,3,3,2>: Cost 4 vext3 <2,3,4,5>, <3,3,2,2>
+    4034224886U, // <5,3,3,2>: Cost 4 vzipr <1,2,5,3>, <1,0,3,2>
     2687125916U, // <5,3,3,3>: Cost 3 vext3 <0,4,1,5>, <3,3,3,3>
     2704599463U, // <5,3,3,4>: Cost 3 vext3 <3,3,4,5>, <3,3,4,5>
     2704673200U, // <5,3,3,5>: Cost 3 vext3 <3,3,5,5>, <3,3,5,5>
     3709962935U, // <5,3,3,6>: Cost 4 vext2 <3,1,5,3>, <3,6,7,7>
-    3772369346U, // <5,3,3,7>: Cost 4 vext3 <2,3,4,5>, <3,3,7,5>
+    2971763856U, // <5,3,3,7>: Cost 3 vzipr <3,1,5,3>, <1,5,3,7>
     2704894411U, // <5,3,3,u>: Cost 3 vext3 <3,3,u,5>, <3,3,u,5>
     2704968148U, // <5,3,4,0>: Cost 3 vext3 <3,4,0,5>, <3,4,0,5>
-    3698682850U, // <5,3,4,1>: Cost 4 vext2 <1,2,5,3>, <4,1,5,0>
+    2642193381U, // <5,3,4,1>: Cost 3 vext2 <4,1,5,3>, <4,1,5,3>
     2642857014U, // <5,3,4,2>: Cost 3 vext2 <4,2,5,3>, <4,2,5,3>
     2705189359U, // <5,3,4,3>: Cost 3 vext3 <3,4,3,5>, <3,4,3,5>
     2705263096U, // <5,3,4,4>: Cost 3 vext3 <3,4,4,5>, <3,4,4,5>
     2685946370U, // <5,3,4,5>: Cost 3 vext3 <0,2,3,5>, <3,4,5,6>
-    3779152394U, // <5,3,4,6>: Cost 4 vext3 <3,4,6,5>, <3,4,6,5>
+    2846247426U, // <5,3,4,6>: Cost 3 vuzpr <4,5,6,3>, <3,4,5,6>
     2236377699U, // <5,3,4,7>: Cost 3 vrev <3,5,7,4>
     2687126045U, // <5,3,4,u>: Cost 3 vext3 <0,4,1,5>, <3,4,u,6>
     2571632742U, // <5,3,5,0>: Cost 3 vext1 <3,5,3,5>, LHS
-    2559689870U, // <5,3,5,1>: Cost 3 vext1 <1,5,3,5>, <1,5,3,5>
+    3053488278U, // <5,3,5,1>: Cost 3 vtrnl <5,5,5,5>, <3,0,1,2>
     2571634382U, // <5,3,5,2>: Cost 3 vext1 <3,5,3,5>, <2,3,4,5>
-    2571635264U, // <5,3,5,3>: Cost 3 vext1 <3,5,3,5>, <3,5,3,5>
+    2839906860U, // <5,3,5,3>: Cost 3 vuzpr <3,5,1,3>, <3,5,1,3>
     2571636022U, // <5,3,5,4>: Cost 3 vext1 <3,5,3,5>, RHS
-    2559692804U, // <5,3,5,5>: Cost 3 vext1 <1,5,3,5>, <5,5,5,5>
-    3720581218U, // <5,3,5,6>: Cost 4 vext2 <4,u,5,3>, <5,6,7,0>
-    2236385892U, // <5,3,5,7>: Cost 3 vrev <3,5,7,5>
-    2571638574U, // <5,3,5,u>: Cost 3 vext1 <3,5,3,5>, LHS
+    3108505294U, // <5,3,5,5>: Cost 3 vtrnr <3,5,3,5>, <2,3,4,5>
+    3919988584U, // <5,3,5,6>: Cost 4 vuzpr <4,5,6,3>, <2,5,3,6>
+    3096413184U, // <5,3,5,7>: Cost 3 vtrnr <1,5,1,5>, <1,3,5,7>
+    2839907639U, // <5,3,5,u>: Cost 3 vuzpr <3,5,1,3>, RHS
     2565668966U, // <5,3,6,0>: Cost 3 vext1 <2,5,3,6>, LHS
-    3633439887U, // <5,3,6,1>: Cost 4 vext1 <1,5,3,6>, <1,5,3,6>
+    4035577213U, // <5,3,6,1>: Cost 4 vzipr <1,4,5,6>, <1,u,3,1>
     2565670760U, // <5,3,6,2>: Cost 3 vext1 <2,5,3,6>, <2,5,3,6>
     2565671426U, // <5,3,6,3>: Cost 3 vext1 <2,5,3,6>, <3,4,5,6>
     2565672246U, // <5,3,6,4>: Cost 3 vext1 <2,5,3,6>, RHS
-    3639414630U, // <5,3,6,5>: Cost 4 vext1 <2,5,3,6>, <5,3,6,0>
-    4047521640U, // <5,3,6,6>: Cost 4 vzipr <3,4,5,6>, <2,5,3,6>
-    2725169844U, // <5,3,6,7>: Cost 3 vext3 <6,7,4,5>, <3,6,7,4>
+    2973778114U, // <5,3,6,5>: Cost 3 vzipr <3,4,5,6>, <0,2,3,5>
+    2973779816U, // <5,3,6,6>: Cost 3 vzipr <3,4,5,6>, <2,5,3,6>
+    3096642560U, // <5,3,6,7>: Cost 3 vtrnr <1,5,4,6>, <1,3,5,7>
     2565674798U, // <5,3,6,u>: Cost 3 vext1 <2,5,3,6>, LHS
     1485963366U, // <5,3,7,0>: Cost 2 vext1 <1,5,3,7>, LHS
     1485964432U, // <5,3,7,1>: Cost 2 vext1 <1,5,3,7>, <1,5,3,7>
-    2559706728U, // <5,3,7,2>: Cost 3 vext1 <1,5,3,7>, <2,2,2,2>
-    2559707286U, // <5,3,7,3>: Cost 3 vext1 <1,5,3,7>, <3,0,1,2>
+    2961179382U, // <5,3,7,2>: Cost 3 vzipr <1,3,5,7>, <1,0,3,2>
+    2040972248U, // <5,3,7,3>: Cost 2 vtrnr RHS, <1,3,1,3>
     1485966646U, // <5,3,7,4>: Cost 2 vext1 <1,5,3,7>, RHS
-    2559708880U, // <5,3,7,5>: Cost 3 vext1 <1,5,3,7>, <5,1,7,3>
-    2601513466U, // <5,3,7,6>: Cost 3 vext1 <u,5,3,7>, <6,2,7,3>
-    3114714112U, // <5,3,7,7>: Cost 3 vtrnr RHS, <1,3,5,7>
+    2040973006U, // <5,3,7,5>: Cost 2 vtrnr RHS, <2,3,4,5>
+    3114714084U, // <5,3,7,6>: Cost 3 vtrnr RHS, <1,3,2,6>
+    2040972288U, // <5,3,7,7>: Cost 2 vtrnr RHS, <1,3,5,7>
     1485969198U, // <5,3,7,u>: Cost 2 vext1 <1,5,3,7>, LHS
     1485971558U, // <5,3,u,0>: Cost 2 vext1 <1,5,3,u>, LHS
     1485972625U, // <5,3,u,1>: Cost 2 vext1 <1,5,3,u>, <1,5,3,u>
-    2559714920U, // <5,3,u,2>: Cost 3 vext1 <1,5,3,u>, <2,2,2,2>
-    2559715478U, // <5,3,u,3>: Cost 3 vext1 <1,5,3,u>, <3,0,1,2>
+    2961187574U, // <5,3,u,2>: Cost 3 vzipr <1,3,5,u>, <1,0,3,2>
+    2040980440U, // <5,3,u,3>: Cost 2 vtrnr RHS, <1,3,1,3>
     1485974838U, // <5,3,u,4>: Cost 2 vext1 <1,5,3,u>, RHS
-    2687126342U, // <5,3,u,5>: Cost 3 vext3 <0,4,1,5>, <3,u,5,6>
-    2601521658U, // <5,3,u,6>: Cost 3 vext1 <u,5,3,u>, <6,2,7,3>
-    2236410471U, // <5,3,u,7>: Cost 3 vrev <3,5,7,u>
+    2040981198U, // <5,3,u,5>: Cost 2 vtrnr RHS, <2,3,4,5>
+    3114722276U, // <5,3,u,6>: Cost 3 vtrnr RHS, <1,3,2,6>
+    2040980480U, // <5,3,u,7>: Cost 2 vtrnr RHS, <1,3,5,7>
     1485977390U, // <5,3,u,u>: Cost 2 vext1 <1,5,3,u>, LHS
-    3627491430U, // <5,4,0,0>: Cost 4 vext1 <0,5,4,0>, LHS
+    3627491769U, // <5,4,0,0>: Cost 4 vext1 <0,5,4,0>, <0,5,4,0>
     2636890214U, // <5,4,0,1>: Cost 3 vext2 <3,2,5,4>, LHS
-    3703333028U, // <5,4,0,2>: Cost 4 vext2 <2,0,5,4>, <0,2,0,2>
-    3782249348U, // <5,4,0,3>: Cost 4 vext3 <4,0,3,5>, <4,0,3,5>
+    2781626470U, // <5,4,0,2>: Cost 3 vuzpl <5,0,4,1>, LHS
+    3645409860U, // <5,4,0,3>: Cost 4 vext1 <3,5,4,0>, <3,5,4,0>
     2642198866U, // <5,4,0,4>: Cost 3 vext2 <4,1,5,4>, <0,4,1,5>
     2687126418U, // <5,4,0,5>: Cost 3 vext3 <0,4,1,5>, <4,0,5,1>
     2242243887U, // <5,4,0,6>: Cost 3 vrev <4,5,6,0>
@@ -4004,156 +4002,156 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2241809658U, // <5,4,1,0>: Cost 3 vrev <4,5,0,1>
     3698025307U, // <5,4,1,1>: Cost 4 vext2 <1,1,5,4>, <1,1,5,4>
     3698688940U, // <5,4,1,2>: Cost 4 vext2 <1,2,5,4>, <1,2,5,4>
-    3698689024U, // <5,4,1,3>: Cost 4 vext2 <1,2,5,4>, <1,3,5,7>
-    3700016206U, // <5,4,1,4>: Cost 4 vext2 <1,4,5,4>, <1,4,5,4>
-    2687126498U, // <5,4,1,5>: Cost 3 vext3 <0,4,1,5>, <4,1,5,0>
-    3760868336U, // <5,4,1,6>: Cost 4 vext3 <0,4,1,5>, <4,1,6,5>
-    3316067641U, // <5,4,1,7>: Cost 4 vrev <4,5,7,1>
-    2242399554U, // <5,4,1,u>: Cost 3 vrev <4,5,u,1>
-    3703334371U, // <5,4,2,0>: Cost 4 vext2 <2,0,5,4>, <2,0,5,4>
+    2827894886U, // <5,4,1,3>: Cost 3 vuzpr <1,5,0,4>, LHS
+    2982366416U, // <5,4,1,4>: Cost 3 vzipr <4,u,5,1>, <4,4,4,4>
+    1843006774U, // <5,4,1,5>: Cost 2 vzipl <5,1,7,3>, RHS
+    1980763446U, // <5,4,1,6>: Cost 2 vtrnl <5,7,1,3>, RHS
+    3902153566U, // <5,4,1,7>: Cost 4 vuzpr <1,5,7,4>, <1,1,5,7>
+    1843007017U, // <5,4,1,u>: Cost 2 vzipl <5,1,7,3>, RHS
+    2241817851U, // <5,4,2,0>: Cost 3 vrev <4,5,0,2>
     3703998004U, // <5,4,2,1>: Cost 4 vext2 <2,1,5,4>, <2,1,5,4>
-    3704661637U, // <5,4,2,2>: Cost 4 vext2 <2,2,5,4>, <2,2,5,4>
+    3901636772U, // <5,4,2,2>: Cost 4 vuzpr <1,5,0,4>, <0,2,0,2>
     2636891854U, // <5,4,2,3>: Cost 3 vext2 <3,2,5,4>, <2,3,4,5>
-    3705988903U, // <5,4,2,4>: Cost 4 vext2 <2,4,5,4>, <2,4,5,4>
-    2698628150U, // <5,4,2,5>: Cost 3 vext3 <2,3,4,5>, <4,2,5,3>
-    3760868415U, // <5,4,2,6>: Cost 4 vext3 <0,4,1,5>, <4,2,6,3>
-    3783871562U, // <5,4,2,7>: Cost 4 vext3 <4,2,7,5>, <4,2,7,5>
-    2666752099U, // <5,4,2,u>: Cost 3 vext2 <u,2,5,4>, <2,u,4,5>
+    3901637530U, // <5,4,2,4>: Cost 4 vuzpr <1,5,0,4>, <1,2,3,4>
+    2973746894U, // <5,4,2,5>: Cost 3 vzipr <3,4,5,2>, <2,3,4,5>
+    3108260354U, // <5,4,2,6>: Cost 3 vtrnr <3,5,0,2>, <3,4,5,6>
+    3908126344U, // <5,4,2,7>: Cost 4 vuzpr <2,5,7,4>, <2,2,5,7>
+    2916970010U, // <5,4,2,u>: Cost 3 vzipl <5,2,1,3>, <4,u,5,1>
     3639459942U, // <5,4,3,0>: Cost 4 vext1 <2,5,4,3>, LHS
-    3709970701U, // <5,4,3,1>: Cost 4 vext2 <3,1,5,4>, <3,1,5,4>
+    2241899781U, // <5,4,3,1>: Cost 3 vrev <4,5,1,3>
     2636892510U, // <5,4,3,2>: Cost 3 vext2 <3,2,5,4>, <3,2,5,4>
-    3710634396U, // <5,4,3,3>: Cost 4 vext2 <3,2,5,4>, <3,3,3,3>
+    3901637592U, // <5,4,3,3>: Cost 4 vuzpr <1,5,0,4>, <1,3,1,3>
     2638219776U, // <5,4,3,4>: Cost 3 vext2 <3,4,5,4>, <3,4,5,4>
-    3766987908U, // <5,4,3,5>: Cost 4 vext3 <1,4,3,5>, <4,3,5,0>
+    2978399950U, // <5,4,3,5>: Cost 3 vzipr <4,2,5,3>, <2,3,4,5>
     2710719634U, // <5,4,3,6>: Cost 3 vext3 <4,3,6,5>, <4,3,6,5>
-    3914097664U, // <5,4,3,7>: Cost 4 vuzpr <3,5,7,4>, <1,3,5,7>
-    2640874308U, // <5,4,3,u>: Cost 3 vext2 <3,u,5,4>, <3,u,5,4>
-    2583642214U, // <5,4,4,0>: Cost 3 vext1 <5,5,4,4>, LHS
+    2840355840U, // <5,4,3,7>: Cost 3 vuzpr <3,5,7,4>, <1,3,5,7>
+    2840429569U, // <5,4,3,u>: Cost 3 vuzpr <3,5,u,4>, <1,3,5,u>
+    2918763410U, // <5,4,4,0>: Cost 3 vzipl <5,4,7,6>, <4,0,5,1>
     2642201574U, // <5,4,4,1>: Cost 3 vext2 <4,1,5,4>, <4,1,5,4>
     3710635062U, // <5,4,4,2>: Cost 4 vext2 <3,2,5,4>, <4,2,5,3>
-    3717270664U, // <5,4,4,3>: Cost 4 vext2 <4,3,5,4>, <4,3,5,4>
+    2643528840U, // <5,4,4,3>: Cost 3 vext2 <4,3,5,4>, <4,3,5,4>
     2713963728U, // <5,4,4,4>: Cost 3 vext3 <4,u,5,5>, <4,4,4,4>
-    1637567706U, // <5,4,4,5>: Cost 2 vext3 <4,4,5,5>, <4,4,5,5>
+    1845022006U, // <5,4,4,5>: Cost 2 vzipl <5,4,7,6>, RHS
     2242276659U, // <5,4,4,6>: Cost 3 vrev <4,5,6,4>
     2646183372U, // <5,4,4,7>: Cost 3 vext2 <4,7,5,4>, <4,7,5,4>
-    1637788917U, // <5,4,4,u>: Cost 2 vext3 <4,4,u,5>, <4,4,u,5>
+    1845022249U, // <5,4,4,u>: Cost 2 vzipl <5,4,7,6>, RHS
     2559762534U, // <5,4,5,0>: Cost 3 vext1 <1,5,4,5>, LHS
     2559763607U, // <5,4,5,1>: Cost 3 vext1 <1,5,4,5>, <1,5,4,5>
     2698628366U, // <5,4,5,2>: Cost 3 vext3 <2,3,4,5>, <4,5,2,3>
-    3633506454U, // <5,4,5,3>: Cost 4 vext1 <1,5,4,5>, <3,0,1,2>
-    2559765814U, // <5,4,5,4>: Cost 3 vext1 <1,5,4,5>, RHS
-    2583654395U, // <5,4,5,5>: Cost 3 vext1 <5,5,4,5>, <5,5,4,5>
+    3766398233U, // <5,4,5,3>: Cost 4 vext3 <1,3,4,5>, <4,5,3,5>
+    2827895922U, // <5,4,5,4>: Cost 3 vuzpr <1,5,0,4>, <1,5,0,4>
+    1845529910U, // <5,4,5,5>: Cost 2 vzipl <5,5,5,5>, RHS
     1613385014U, // <5,4,5,6>: Cost 2 vext3 <0,4,1,5>, RHS
-    3901639990U, // <5,4,5,7>: Cost 4 vuzpr <1,5,0,4>, RHS
+    2827898166U, // <5,4,5,7>: Cost 3 vuzpr <1,5,0,4>, RHS
     1613385032U, // <5,4,5,u>: Cost 2 vext3 <0,4,1,5>, RHS
     2559770726U, // <5,4,6,0>: Cost 3 vext1 <1,5,4,6>, LHS
-    2559771648U, // <5,4,6,1>: Cost 3 vext1 <1,5,4,6>, <1,3,5,7>
-    3633514088U, // <5,4,6,2>: Cost 4 vext1 <1,5,4,6>, <2,2,2,2>
-    2571717122U, // <5,4,6,3>: Cost 3 vext1 <3,5,4,6>, <3,4,5,6>
+    2559771800U, // <5,4,6,1>: Cost 3 vext1 <1,5,4,6>, <1,5,4,6>
+    2698628448U, // <5,4,6,2>: Cost 3 vext3 <2,3,4,5>, <4,6,2,4>
+    2571717194U, // <5,4,6,3>: Cost 3 vext1 <3,5,4,6>, <3,5,4,6>
     2559774006U, // <5,4,6,4>: Cost 3 vext1 <1,5,4,6>, RHS
-    2712636796U, // <5,4,6,5>: Cost 3 vext3 <4,6,5,5>, <4,6,5,5>
-    3760868743U, // <5,4,6,6>: Cost 4 vext3 <0,4,1,5>, <4,6,6,7>
+    1846299958U, // <5,4,6,5>: Cost 2 vzipl <5,6,7,0>, RHS
+    3102542338U, // <5,4,6,6>: Cost 3 vtrnr <2,5,3,6>, <3,4,5,6>
     2712784270U, // <5,4,6,7>: Cost 3 vext3 <4,6,7,5>, <4,6,7,5>
-    2559776558U, // <5,4,6,u>: Cost 3 vext1 <1,5,4,6>, LHS
+    1846300201U, // <5,4,6,u>: Cost 2 vzipl <5,6,7,0>, RHS
     2565750886U, // <5,4,7,0>: Cost 3 vext1 <2,5,4,7>, LHS
     2565751706U, // <5,4,7,1>: Cost 3 vext1 <2,5,4,7>, <1,2,3,4>
     2565752690U, // <5,4,7,2>: Cost 3 vext1 <2,5,4,7>, <2,5,4,7>
-    2571725387U, // <5,4,7,3>: Cost 3 vext1 <3,5,4,7>, <3,5,4,7>
-    2565754166U, // <5,4,7,4>: Cost 3 vext1 <2,5,4,7>, RHS
-    3114713426U, // <5,4,7,5>: Cost 3 vtrnr RHS, <0,4,1,5>
+    3114714882U, // <5,4,7,3>: Cost 3 vtrnr RHS, <2,4,1,3>
+    2040974544U, // <5,4,7,4>: Cost 2 vtrnr RHS, <4,4,4,4>
+    2040971602U, // <5,4,7,5>: Cost 2 vtrnr RHS, <0,4,1,5>
     94817590U,   // <5,4,7,6>: Cost 1 vrev RHS
-    2595616175U, // <5,4,7,7>: Cost 3 vext1 <7,5,4,7>, <7,5,4,7>
+    3114714922U, // <5,4,7,7>: Cost 3 vtrnr RHS, <2,4,5,7>
     94965064U,   // <5,4,7,u>: Cost 1 vrev RHS
     2559787110U, // <5,4,u,0>: Cost 3 vext1 <1,5,4,u>, LHS
     2559788186U, // <5,4,u,1>: Cost 3 vext1 <1,5,4,u>, <1,5,4,u>
-    2242014483U, // <5,4,u,2>: Cost 3 vrev <4,5,2,u>
-    2667419628U, // <5,4,u,3>: Cost 3 vext2 <u,3,5,4>, <u,3,5,4>
-    2559790390U, // <5,4,u,4>: Cost 3 vext1 <1,5,4,u>, RHS
-    1640222238U, // <5,4,u,5>: Cost 2 vext3 <4,u,5,5>, <4,u,5,5>
+    2565760883U, // <5,4,u,2>: Cost 3 vext1 <2,5,4,u>, <2,5,4,u>
+    2827895453U, // <5,4,u,3>: Cost 3 vuzpr <1,5,0,4>, LHS
+    2040982736U, // <5,4,u,4>: Cost 2 vtrnr RHS, <4,4,4,4>
+    2040979794U, // <5,4,u,5>: Cost 2 vtrnr RHS, <0,4,1,5>
     94825783U,   // <5,4,u,6>: Cost 1 vrev RHS
-    2714111536U, // <5,4,u,7>: Cost 3 vext3 <4,u,7,5>, <4,u,7,5>
+    2827898409U, // <5,4,u,7>: Cost 3 vuzpr <1,5,0,4>, RHS
     94973257U,   // <5,4,u,u>: Cost 1 vrev RHS
-    2646851584U, // <5,5,0,0>: Cost 3 vext2 <4,u,5,5>, <0,0,0,0>
+    2973731324U, // <5,5,0,0>: Cost 3 vzipr <3,4,5,0>, <3,4,5,0>
     1573109862U, // <5,5,0,1>: Cost 2 vext2 <4,u,5,5>, LHS
-    2646851748U, // <5,5,0,2>: Cost 3 vext2 <4,u,5,5>, <0,2,0,2>
+    1711308902U, // <5,5,0,2>: Cost 2 vuzpl <5,5,5,5>, LHS
     3760279130U, // <5,5,0,3>: Cost 4 vext3 <0,3,2,5>, <5,0,3,2>
     2687127138U, // <5,5,0,4>: Cost 3 vext3 <0,4,1,5>, <5,0,4,1>
-    2248142847U, // <5,5,0,5>: Cost 3 vrev <5,5,5,0>
-    3720593910U, // <5,5,0,6>: Cost 4 vext2 <4,u,5,5>, <0,6,1,7>
-    4182502710U, // <5,5,0,7>: Cost 4 vtrnr <3,5,7,0>, RHS
+    2650833378U, // <5,5,0,5>: Cost 3 vext2 <5,5,5,5>, <0,5,u,5>
+    2915995746U, // <5,5,0,6>: Cost 3 vzipl <5,0,6,1>, <5,6,7,0>
+    3108760886U, // <5,5,0,7>: Cost 3 vtrnr <3,5,7,0>, RHS
     1573110429U, // <5,5,0,u>: Cost 2 vext2 <4,u,5,5>, LHS
     2646852342U, // <5,5,1,0>: Cost 3 vext2 <4,u,5,5>, <1,0,3,2>
-    2624291676U, // <5,5,1,1>: Cost 3 vext2 <1,1,5,5>, <1,1,5,5>
+    1908624922U, // <5,5,1,1>: Cost 2 vzipr <4,u,5,1>, <4,u,5,1>
     2646852502U, // <5,5,1,2>: Cost 3 vext2 <4,u,5,5>, <1,2,3,0>
-    2646852568U, // <5,5,1,3>: Cost 3 vext2 <4,u,5,5>, <1,3,1,3>
+    1778417766U, // <5,5,1,3>: Cost 2 vuzpr <5,5,5,5>, LHS
     2715217591U, // <5,5,1,4>: Cost 3 vext3 <5,1,4,5>, <5,1,4,5>
     2628936848U, // <5,5,1,5>: Cost 3 vext2 <1,u,5,5>, <1,5,3,7>
-    3698033907U, // <5,5,1,6>: Cost 4 vext2 <1,1,5,5>, <1,6,5,7>
-    2713964240U, // <5,5,1,7>: Cost 3 vext3 <4,u,5,5>, <5,1,7,3>
-    2628937107U, // <5,5,1,u>: Cost 3 vext2 <1,u,5,5>, <1,u,5,5>
-    3645497446U, // <5,5,2,0>: Cost 4 vext1 <3,5,5,2>, LHS
+    2982365698U, // <5,5,1,6>: Cost 3 vzipr <4,u,5,1>, <3,4,5,6>
+    3096309046U, // <5,5,1,7>: Cost 3 vtrnr <1,5,0,1>, RHS
+    1778417771U, // <5,5,1,u>: Cost 2 vuzpr <5,5,5,5>, LHS
+    2785052326U, // <5,5,2,0>: Cost 3 vuzpl <5,5,5,5>, <2,3,0,1>
     3760869099U, // <5,5,2,1>: Cost 4 vext3 <0,4,1,5>, <5,2,1,3>
-    2646853224U, // <5,5,2,2>: Cost 3 vext2 <4,u,5,5>, <2,2,2,2>
+    3096314992U, // <5,5,2,2>: Cost 3 vtrnr <1,5,0,2>, <1,5,0,2>
     2698628862U, // <5,5,2,3>: Cost 3 vext3 <2,3,4,5>, <5,2,3,4>
-    3772370694U, // <5,5,2,4>: Cost 4 vext3 <2,3,4,5>, <5,2,4,3>
-    2713964303U, // <5,5,2,5>: Cost 3 vext3 <4,u,5,5>, <5,2,5,3>
+    2785052366U, // <5,5,2,4>: Cost 3 vuzpl <5,5,5,5>, <2,3,4,5>
+    2785052375U, // <5,5,2,5>: Cost 3 vuzpl <5,5,5,5>, <2,3,5,5>
     2646853562U, // <5,5,2,6>: Cost 3 vext2 <4,u,5,5>, <2,6,3,7>
-    4038198272U, // <5,5,2,7>: Cost 4 vzipr <1,u,5,2>, <1,3,5,7>
-    2701946667U, // <5,5,2,u>: Cost 3 vext3 <2,u,4,5>, <5,2,u,4>
+    3096317238U, // <5,5,2,7>: Cost 3 vtrnr <1,5,0,2>, RHS
+    3096317239U, // <5,5,2,u>: Cost 3 vtrnr <1,5,0,2>, RHS
     2646853782U, // <5,5,3,0>: Cost 3 vext2 <4,u,5,5>, <3,0,1,2>
-    3698034922U, // <5,5,3,1>: Cost 4 vext2 <1,1,5,5>, <3,1,1,5>
+    2785052822U, // <5,5,3,1>: Cost 3 vuzpl <5,5,5,5>, <3,0,1,2>
     3702679919U, // <5,5,3,2>: Cost 4 vext2 <1,u,5,5>, <3,2,7,3>
-    2637564336U, // <5,5,3,3>: Cost 3 vext2 <3,3,5,5>, <3,3,5,5>
+    2960483243U, // <5,5,3,3>: Cost 3 vzipr <1,2,5,3>, <1,2,5,3>
     2646854146U, // <5,5,3,4>: Cost 3 vext2 <4,u,5,5>, <3,4,5,6>
-    2638891602U, // <5,5,3,5>: Cost 3 vext2 <3,5,5,5>, <3,5,5,5>
-    3702680247U, // <5,5,3,6>: Cost 4 vext2 <1,u,5,5>, <3,6,7,7>
-    3702680259U, // <5,5,3,7>: Cost 4 vext2 <1,u,5,5>, <3,7,0,1>
-    2646854430U, // <5,5,3,u>: Cost 3 vext2 <4,u,5,5>, <3,u,1,2>
+    2840069838U, // <5,5,3,5>: Cost 3 vuzpr <3,5,3,5>, <2,3,4,5>
+    4034226690U, // <5,5,3,6>: Cost 4 vzipr <1,2,5,3>, <3,4,5,6>
+    2827977728U, // <5,5,3,7>: Cost 3 vuzpr <1,5,1,5>, <1,3,5,7>
+    3108343095U, // <5,5,3,u>: Cost 3 vtrnr <3,5,1,3>, RHS
     2646854546U, // <5,5,4,0>: Cost 3 vext2 <4,u,5,5>, <4,0,5,1>
-    2642209767U, // <5,5,4,1>: Cost 3 vext2 <4,1,5,5>, <4,1,5,5>
-    3711306806U, // <5,5,4,2>: Cost 4 vext2 <3,3,5,5>, <4,2,5,3>
-    3645516369U, // <5,5,4,3>: Cost 4 vext1 <3,5,5,4>, <3,5,5,4>
-    1570458842U, // <5,5,4,4>: Cost 2 vext2 <4,4,5,5>, <4,4,5,5>
+    2716987279U, // <5,5,4,1>: Cost 3 vext3 <5,4,1,5>, <5,4,1,5>
+    4046178814U, // <5,5,4,2>: Cost 4 vzipr <3,2,5,4>, <3,4,5,2>
+    4170075397U, // <5,5,4,3>: Cost 4 vtrnr <1,5,0,4>, <4,5,1,3>
+    1845022662U, // <5,5,4,4>: Cost 2 vzipl <5,4,7,6>, <5,4,7,6>
     1573113142U, // <5,5,4,5>: Cost 2 vext2 <4,u,5,5>, RHS
-    2645527932U, // <5,5,4,6>: Cost 3 vext2 <4,6,5,5>, <4,6,5,5>
-    2713964486U, // <5,5,4,7>: Cost 3 vext3 <4,u,5,5>, <5,4,7,6>
+    1711312182U, // <5,5,4,6>: Cost 2 vuzpl <5,5,5,5>, RHS
+    3096333622U, // <5,5,4,7>: Cost 3 vtrnr <1,5,0,4>, RHS
     1573113374U, // <5,5,4,u>: Cost 2 vext2 <4,u,5,5>, <4,u,5,5>
     1509982310U, // <5,5,5,0>: Cost 2 vext1 <5,5,5,5>, LHS
     2646855376U, // <5,5,5,1>: Cost 3 vext2 <4,u,5,5>, <5,1,7,3>
     2583725672U, // <5,5,5,2>: Cost 3 vext1 <5,5,5,5>, <2,2,2,2>
-    2583726230U, // <5,5,5,3>: Cost 3 vext1 <5,5,5,5>, <3,0,1,2>
+    2982399759U, // <5,5,5,3>: Cost 3 vzipr <4,u,5,5>, <5,2,5,3>
     1509985590U, // <5,5,5,4>: Cost 2 vext1 <5,5,5,5>, RHS
     229035318U,  // <5,5,5,5>: Cost 1 vdup1 RHS
     2646855778U, // <5,5,5,6>: Cost 3 vext2 <4,u,5,5>, <5,6,7,0>
-    2646855848U, // <5,5,5,7>: Cost 3 vext2 <4,u,5,5>, <5,7,5,7>
+    1778421046U, // <5,5,5,7>: Cost 2 vuzpr <5,5,5,5>, RHS
     229035318U,  // <5,5,5,u>: Cost 1 vdup1 RHS
-    2577760358U, // <5,5,6,0>: Cost 3 vext1 <4,5,5,6>, LHS
-    3633587361U, // <5,5,6,1>: Cost 4 vext1 <1,5,5,6>, <1,5,5,6>
+    2785055566U, // <5,5,6,0>: Cost 3 vuzpl <5,5,5,5>, <6,7,0,1>
+    2920042192U, // <5,5,6,1>: Cost 3 vzipl <5,6,7,0>, <5,1,7,3>
     2646856186U, // <5,5,6,2>: Cost 3 vext2 <4,u,5,5>, <6,2,7,3>
     3633588738U, // <5,5,6,3>: Cost 4 vext1 <1,5,5,6>, <3,4,5,6>
-    2718535756U, // <5,5,6,4>: Cost 3 vext3 <5,6,4,5>, <5,6,4,5>
-    2644202223U, // <5,5,6,5>: Cost 3 vext2 <4,4,5,5>, <6,5,7,5>
-    2973780482U, // <5,5,6,6>: Cost 3 vzipr <3,4,5,6>, <3,4,5,6>
-    2646856526U, // <5,5,6,7>: Cost 3 vext2 <4,u,5,5>, <6,7,0,1>
-    2646856607U, // <5,5,6,u>: Cost 3 vext2 <4,u,5,5>, <6,u,0,1>
+    2785055606U, // <5,5,6,4>: Cost 3 vuzpl <5,5,5,5>, <6,7,4,5>
+    2785055615U, // <5,5,6,5>: Cost 3 vuzpl <5,5,5,5>, <6,7,5,5>
+    1900038658U, // <5,5,6,6>: Cost 2 vzipr <3,4,5,6>, <3,4,5,6>
+    3096644918U, // <5,5,6,7>: Cost 3 vtrnr <1,5,4,6>, RHS
+    1900038658U, // <5,5,6,u>: Cost 2 vzipr <3,4,5,6>, <3,4,5,6>
     2571796582U, // <5,5,7,0>: Cost 3 vext1 <3,5,5,7>, LHS
-    3633595392U, // <5,5,7,1>: Cost 4 vext1 <1,5,5,7>, <1,3,5,7>
+    3114714223U, // <5,5,7,1>: Cost 3 vtrnr RHS, <1,5,0,1>
     2571798222U, // <5,5,7,2>: Cost 3 vext1 <3,5,5,7>, <2,3,4,5>
     2571799124U, // <5,5,7,3>: Cost 3 vext1 <3,5,5,7>, <3,5,5,7>
     2571799862U, // <5,5,7,4>: Cost 3 vext1 <3,5,5,7>, RHS
-    3114717188U, // <5,5,7,5>: Cost 3 vtrnr RHS, <5,5,5,5>
-    4034923010U, // <5,5,7,6>: Cost 4 vzipr <1,3,5,7>, <3,4,5,6>
-    2040974646U, // <5,5,7,7>: Cost 2 vtrnr RHS, RHS
-    2040974647U, // <5,5,7,u>: Cost 2 vtrnr RHS, RHS
+    2040975364U, // <5,5,7,5>: Cost 2 vtrnr RHS, <5,5,5,5>
+    2961181186U, // <5,5,7,6>: Cost 3 vzipr <1,3,5,7>, <3,4,5,6>
+    967232822U,  // <5,5,7,7>: Cost 1 vtrnr RHS, RHS
+    967232823U,  // <5,5,7,u>: Cost 1 vtrnr RHS, RHS
     1509982310U, // <5,5,u,0>: Cost 2 vext1 <5,5,5,5>, LHS
     1573115694U, // <5,5,u,1>: Cost 2 vext2 <4,u,5,5>, LHS
-    2571806414U, // <5,5,u,2>: Cost 3 vext1 <3,5,5,u>, <2,3,4,5>
-    2571807317U, // <5,5,u,3>: Cost 3 vext1 <3,5,5,u>, <3,5,5,u>
-    1509985590U, // <5,5,u,4>: Cost 2 vext1 <5,5,5,5>, RHS
+    1711314734U, // <5,5,u,2>: Cost 2 vuzpl <5,5,5,5>, LHS
+    1778418333U, // <5,5,u,3>: Cost 2 vuzpr <5,5,5,5>, LHS
+    1845022662U, // <5,5,u,4>: Cost 2 vzipl <5,4,7,6>, <5,4,7,6>
     229035318U,  // <5,5,u,5>: Cost 1 vdup1 RHS
-    2646857936U, // <5,5,u,6>: Cost 3 vext2 <4,u,5,5>, <u,6,3,7>
-    2040982838U, // <5,5,u,7>: Cost 2 vtrnr RHS, RHS
-    229035318U,  // <5,5,u,u>: Cost 1 vdup1 RHS
+    1711315098U, // <5,5,u,6>: Cost 2 vuzpl <5,5,5,5>, RHS
+    967241014U,  // <5,5,u,7>: Cost 1 vtrnr RHS, RHS
+    967241015U,  // <5,5,u,u>: Cost 1 vtrnr RHS, RHS
     2638233600U, // <5,6,0,0>: Cost 3 vext2 <3,4,5,6>, <0,0,0,0>
     1564491878U, // <5,6,0,1>: Cost 2 vext2 <3,4,5,6>, LHS
     2632261796U, // <5,6,0,2>: Cost 3 vext2 <2,4,5,6>, <0,2,0,2>
@@ -4161,62 +4159,62 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2638233938U, // <5,6,0,4>: Cost 3 vext2 <3,4,5,6>, <0,4,1,5>
     3706003885U, // <5,6,0,5>: Cost 4 vext2 <2,4,5,6>, <0,5,2,6>
     3706003967U, // <5,6,0,6>: Cost 4 vext2 <2,4,5,6>, <0,6,2,7>
-    4047473974U, // <5,6,0,7>: Cost 4 vzipr <3,4,5,0>, RHS
+    2973732150U, // <5,6,0,7>: Cost 3 vzipr <3,4,5,0>, RHS
     1564492445U, // <5,6,0,u>: Cost 2 vext2 <3,4,5,6>, LHS
     2638234358U, // <5,6,1,0>: Cost 3 vext2 <3,4,5,6>, <1,0,3,2>
     2638234420U, // <5,6,1,1>: Cost 3 vext2 <3,4,5,6>, <1,1,1,1>
     2638234518U, // <5,6,1,2>: Cost 3 vext2 <3,4,5,6>, <1,2,3,0>
-    2638234584U, // <5,6,1,3>: Cost 3 vext2 <3,4,5,6>, <1,3,1,3>
+    2828206182U, // <5,6,1,3>: Cost 3 vuzpr <1,5,4,6>, LHS
     2626290768U, // <5,6,1,4>: Cost 3 vext2 <1,4,5,6>, <1,4,5,6>
     2638234768U, // <5,6,1,5>: Cost 3 vext2 <3,4,5,6>, <1,5,3,7>
-    3700032719U, // <5,6,1,6>: Cost 4 vext2 <1,4,5,6>, <1,6,1,7>
-    2982366518U, // <5,6,1,7>: Cost 3 vzipr <4,u,5,1>, RHS
-    2628945300U, // <5,6,1,u>: Cost 3 vext2 <1,u,5,6>, <1,u,5,6>
-    3706004925U, // <5,6,2,0>: Cost 4 vext2 <2,4,5,6>, <2,0,1,2>
-    3711976966U, // <5,6,2,1>: Cost 4 vext2 <3,4,5,6>, <2,1,0,3>
+    2982366436U, // <5,6,1,6>: Cost 3 vzipr <4,u,5,1>, <4,4,6,6>
+    1908624694U, // <5,6,1,7>: Cost 2 vzipr <4,u,5,1>, RHS
+    1908624695U, // <5,6,1,u>: Cost 2 vzipr <4,u,5,1>, RHS
+    3901948822U, // <5,6,2,0>: Cost 4 vuzpr <1,5,4,6>, <1,2,3,0>
+    3706005016U, // <5,6,2,1>: Cost 4 vext2 <2,4,5,6>, <2,1,2,3>
     2638235240U, // <5,6,2,2>: Cost 3 vext2 <3,4,5,6>, <2,2,2,2>
     2638235302U, // <5,6,2,3>: Cost 3 vext2 <3,4,5,6>, <2,3,0,1>
     2632263465U, // <5,6,2,4>: Cost 3 vext2 <2,4,5,6>, <2,4,5,6>
     2638235496U, // <5,6,2,5>: Cost 3 vext2 <3,4,5,6>, <2,5,3,6>
     2638235578U, // <5,6,2,6>: Cost 3 vext2 <3,4,5,6>, <2,6,3,7>
-    2713965050U, // <5,6,2,7>: Cost 3 vext3 <4,u,5,5>, <6,2,7,3>
-    2634917997U, // <5,6,2,u>: Cost 3 vext2 <2,u,5,6>, <2,u,5,6>
+    2964458806U, // <5,6,2,7>: Cost 3 vzipr <1,u,5,2>, RHS
+    2964458807U, // <5,6,2,u>: Cost 3 vzipr <1,u,5,2>, RHS
     2638235798U, // <5,6,3,0>: Cost 3 vext2 <3,4,5,6>, <3,0,1,2>
-    3711977695U, // <5,6,3,1>: Cost 4 vext2 <3,4,5,6>, <3,1,0,3>
-    3710650720U, // <5,6,3,2>: Cost 4 vext2 <3,2,5,6>, <3,2,5,6>
+    3901949606U, // <5,6,3,1>: Cost 4 vuzpr <1,5,4,6>, <2,3,0,1>
+    3907850088U, // <5,6,3,2>: Cost 4 vuzpr <2,5,3,6>, <5,3,6,2>
     2638236060U, // <5,6,3,3>: Cost 3 vext2 <3,4,5,6>, <3,3,3,3>
     1564494338U, // <5,6,3,4>: Cost 2 vext2 <3,4,5,6>, <3,4,5,6>
-    2638236234U, // <5,6,3,5>: Cost 3 vext2 <3,4,5,6>, <3,5,4,6>
-    3711978104U, // <5,6,3,6>: Cost 4 vext2 <3,4,5,6>, <3,6,0,7>
-    4034227510U, // <5,6,3,7>: Cost 4 vzipr <1,2,5,3>, RHS
+    2783119874U, // <5,6,3,5>: Cost 3 vuzpl <5,2,6,3>, <3,4,5,6>
+    3907847158U, // <5,6,3,6>: Cost 4 vuzpr <2,5,3,6>, <1,3,4,6>
+    2960485686U, // <5,6,3,7>: Cost 3 vzipr <1,2,5,3>, RHS
     1567148870U, // <5,6,3,u>: Cost 2 vext2 <3,u,5,6>, <3,u,5,6>
     2577817702U, // <5,6,4,0>: Cost 3 vext1 <4,5,6,4>, LHS
-    3700034544U, // <5,6,4,1>: Cost 4 vext2 <1,4,5,6>, <4,1,6,5>
-    2723033713U, // <5,6,4,2>: Cost 3 vext3 <6,4,2,5>, <6,4,2,5>
+    3901951928U, // <5,6,4,1>: Cost 4 vuzpr <1,5,4,6>, <5,4,6,1>
+    2918765050U, // <5,6,4,2>: Cost 3 vzipl <5,4,7,6>, <6,2,7,3>
     2638236818U, // <5,6,4,3>: Cost 3 vext2 <3,4,5,6>, <4,3,6,5>
     2644208859U, // <5,6,4,4>: Cost 3 vext2 <4,4,5,6>, <4,4,5,6>
     1564495158U, // <5,6,4,5>: Cost 2 vext2 <3,4,5,6>, RHS
-    2645536125U, // <5,6,4,6>: Cost 3 vext2 <4,6,5,6>, <4,6,5,6>
-    2723402398U, // <5,6,4,7>: Cost 3 vext3 <6,4,7,5>, <6,4,7,5>
+    2834106882U, // <5,6,4,6>: Cost 3 vuzpr <2,5,3,6>, <3,4,5,6>
+    2972437814U, // <5,6,4,7>: Cost 3 vzipr <3,2,5,4>, RHS
     1564495401U, // <5,6,4,u>: Cost 2 vext2 <3,4,5,6>, RHS
-    2577825894U, // <5,6,5,0>: Cost 3 vext1 <4,5,6,5>, LHS
+    3053491022U, // <5,6,5,0>: Cost 3 vtrnl <5,5,5,5>, <6,7,0,1>
     2662125264U, // <5,6,5,1>: Cost 3 vext2 <7,4,5,6>, <5,1,7,3>
-    3775836867U, // <5,6,5,2>: Cost 4 vext3 <2,u,6,5>, <6,5,2,6>
+    2982398876U, // <5,6,5,2>: Cost 3 vzipr <4,u,5,5>, <4,0,6,2>
     3711979343U, // <5,6,5,3>: Cost 4 vext2 <3,4,5,6>, <5,3,3,4>
     2650181556U, // <5,6,5,4>: Cost 3 vext2 <5,4,5,6>, <5,4,5,6>
-    2662125572U, // <5,6,5,5>: Cost 3 vext2 <7,4,5,6>, <5,5,5,5>
-    2638237732U, // <5,6,5,6>: Cost 3 vext2 <3,4,5,6>, <5,6,0,1>
-    2982399286U, // <5,6,5,7>: Cost 3 vzipr <4,u,5,5>, RHS
-    2982399287U, // <5,6,5,u>: Cost 3 vzipr <4,u,5,5>, RHS
-    2583806054U, // <5,6,6,0>: Cost 3 vext1 <5,5,6,6>, LHS
-    3711979910U, // <5,6,6,1>: Cost 4 vext2 <3,4,5,6>, <6,1,3,4>
-    2662126074U, // <5,6,6,2>: Cost 3 vext2 <7,4,5,6>, <6,2,7,3>
-    2583808514U, // <5,6,6,3>: Cost 3 vext1 <5,5,6,6>, <3,4,5,6>
-    2583809334U, // <5,6,6,4>: Cost 3 vext1 <5,5,6,6>, RHS
-    2583810062U, // <5,6,6,5>: Cost 3 vext1 <5,5,6,6>, <5,5,6,6>
-    2638238520U, // <5,6,6,6>: Cost 3 vext2 <3,4,5,6>, <6,6,6,6>
-    2973781302U, // <5,6,6,7>: Cost 3 vzipr <3,4,5,6>, RHS
-    2973781303U, // <5,6,6,u>: Cost 3 vzipr <3,4,5,6>, RHS
+    2986380596U, // <5,6,5,5>: Cost 3 vzipr <5,5,5,5>, <4,5,6,5>
+    2828207256U, // <5,6,5,6>: Cost 3 vuzpr <1,5,4,6>, <1,5,4,6>
+    1908657462U, // <5,6,5,7>: Cost 2 vzipr <4,u,5,5>, RHS
+    1908657463U, // <5,6,5,u>: Cost 2 vzipr <4,u,5,5>, RHS
+    2973781295U, // <5,6,6,0>: Cost 3 vzipr <3,4,5,6>, <4,5,6,0>
+    2920042858U, // <5,6,6,1>: Cost 3 vzipl <5,6,7,0>, <6,1,0,3>
+    2920043002U, // <5,6,6,2>: Cost 3 vzipl <5,6,7,0>, <6,2,7,3>
+    2973781298U, // <5,6,6,3>: Cost 3 vzipr <3,4,5,6>, <4,5,6,3>
+    2973781299U, // <5,6,6,4>: Cost 3 vzipr <3,4,5,6>, <4,5,6,4>
+    2973781138U, // <5,6,6,5>: Cost 3 vzipr <3,4,5,6>, <4,3,6,5>
+    2973782030U, // <5,6,6,6>: Cost 3 vzipr <3,4,5,6>, <5,5,6,6>
+    1900039478U, // <5,6,6,7>: Cost 2 vzipr <3,4,5,6>, RHS
+    1900039479U, // <5,6,6,u>: Cost 2 vzipr <3,4,5,6>, RHS
     430358630U,  // <5,6,7,0>: Cost 1 vext1 RHS, LHS
     1504101110U, // <5,6,7,1>: Cost 2 vext1 RHS, <1,0,3,2>
     1504101992U, // <5,6,7,2>: Cost 2 vext1 RHS, <2,2,2,2>
@@ -4224,7 +4222,7 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     430361910U,  // <5,6,7,4>: Cost 1 vext1 RHS, RHS
     1504104390U, // <5,6,7,5>: Cost 2 vext1 RHS, <5,4,7,6>
     1504105272U, // <5,6,7,6>: Cost 2 vext1 RHS, <6,6,6,6>
-    1504106092U, // <5,6,7,7>: Cost 2 vext1 RHS, <7,7,7,7>
+    1887440182U, // <5,6,7,7>: Cost 2 vzipr <1,3,5,7>, RHS
     430364462U,  // <5,6,7,u>: Cost 1 vext1 RHS, LHS
     430366822U,  // <5,6,u,0>: Cost 1 vext1 RHS, LHS
     1564497710U, // <5,6,u,1>: Cost 2 vext2 <3,4,5,6>, LHS
@@ -4233,737 +4231,737 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     430370103U,  // <5,6,u,4>: Cost 1 vext1 RHS, RHS
     1564498074U, // <5,6,u,5>: Cost 2 vext2 <3,4,5,6>, RHS
     1504113146U, // <5,6,u,6>: Cost 2 vext1 RHS, <6,2,7,3>
-    1504113658U, // <5,6,u,7>: Cost 2 vext1 RHS, <7,0,1,2>
+    1887448374U, // <5,6,u,7>: Cost 2 vzipr <1,3,5,u>, RHS
     430372654U,  // <5,6,u,u>: Cost 1 vext1 RHS, LHS
-    2625634304U, // <5,7,0,0>: Cost 3 vext2 <1,3,5,7>, <0,0,0,0>
+    1772535808U, // <5,7,0,0>: Cost 2 vuzpr RHS, <0,0,0,0>
     1551892582U, // <5,7,0,1>: Cost 2 vext2 <1,3,5,7>, LHS
-    2625634468U, // <5,7,0,2>: Cost 3 vext2 <1,3,5,7>, <0,2,0,2>
+    1772535828U, // <5,7,0,2>: Cost 2 vuzpr RHS, <0,0,2,2>
     2571889247U, // <5,7,0,3>: Cost 3 vext1 <3,5,7,0>, <3,5,7,0>
     2625634642U, // <5,7,0,4>: Cost 3 vext2 <1,3,5,7>, <0,4,1,5>
-    2595778728U, // <5,7,0,5>: Cost 3 vext1 <7,5,7,0>, <5,7,5,7>
-    3699376639U, // <5,7,0,6>: Cost 4 vext2 <1,3,5,7>, <0,6,2,7>
-    2260235715U, // <5,7,0,7>: Cost 3 vrev <7,5,7,0>
+    2846279860U, // <5,7,0,5>: Cost 3 vuzpr RHS, <3,0,4,5>
+    2846277674U, // <5,7,0,6>: Cost 3 vuzpr RHS, <0,0,4,6>
+    2846279142U, // <5,7,0,7>: Cost 3 vuzpr RHS, <2,0,5,7>
     1551893149U, // <5,7,0,u>: Cost 2 vext2 <1,3,5,7>, LHS
     2625635062U, // <5,7,1,0>: Cost 3 vext2 <1,3,5,7>, <1,0,3,2>
-    2624308020U, // <5,7,1,1>: Cost 3 vext2 <1,1,5,7>, <1,1,1,1>
+    1772536628U, // <5,7,1,1>: Cost 2 vuzpr RHS, <1,1,1,1>
     2625635222U, // <5,7,1,2>: Cost 3 vext2 <1,3,5,7>, <1,2,3,0>
-    1551893504U, // <5,7,1,3>: Cost 2 vext2 <1,3,5,7>, <1,3,5,7>
+    698794086U,  // <5,7,1,3>: Cost 1 vuzpr RHS, LHS
     2571898166U, // <5,7,1,4>: Cost 3 vext1 <3,5,7,1>, RHS
     2625635472U, // <5,7,1,5>: Cost 3 vext2 <1,3,5,7>, <1,5,3,7>
     2627626227U, // <5,7,1,6>: Cost 3 vext2 <1,6,5,7>, <1,6,5,7>
-    3702031684U, // <5,7,1,7>: Cost 4 vext2 <1,7,5,7>, <1,7,5,7>
-    1555211669U, // <5,7,1,u>: Cost 2 vext2 <1,u,5,7>, <1,u,5,7>
-    2629617126U, // <5,7,2,0>: Cost 3 vext2 <2,0,5,7>, <2,0,5,7>
-    3699377670U, // <5,7,2,1>: Cost 4 vext2 <1,3,5,7>, <2,1,0,3>
-    2625635944U, // <5,7,2,2>: Cost 3 vext2 <1,3,5,7>, <2,2,2,2>
-    2625636006U, // <5,7,2,3>: Cost 3 vext2 <1,3,5,7>, <2,3,0,1>
-    2632271658U, // <5,7,2,4>: Cost 3 vext2 <2,4,5,7>, <2,4,5,7>
+    2846278494U, // <5,7,1,7>: Cost 3 vuzpr RHS, <1,1,5,7>
+    698794091U,  // <5,7,1,u>: Cost 1 vuzpr RHS, LHS
+    1772536726U, // <5,7,2,0>: Cost 2 vuzpr RHS, <1,2,3,0>
+    2846277795U, // <5,7,2,1>: Cost 3 vuzpr RHS, <0,2,0,1>
+    1772535972U, // <5,7,2,2>: Cost 2 vuzpr RHS, <0,2,0,2>
+    1772537458U, // <5,7,2,3>: Cost 2 vuzpr RHS, <2,2,3,3>
+    1772536730U, // <5,7,2,4>: Cost 2 vuzpr RHS, <1,2,3,4>
     2625636201U, // <5,7,2,5>: Cost 3 vext2 <1,3,5,7>, <2,5,3,7>
-    2625636282U, // <5,7,2,6>: Cost 3 vext2 <1,3,5,7>, <2,6,3,7>
-    3708004381U, // <5,7,2,7>: Cost 4 vext2 <2,7,5,7>, <2,7,5,7>
-    2625636411U, // <5,7,2,u>: Cost 3 vext2 <1,3,5,7>, <2,u,0,1>
+    1772536012U, // <5,7,2,6>: Cost 2 vuzpr RHS, <0,2,4,6>
+    2846277846U, // <5,7,2,7>: Cost 3 vuzpr RHS, <0,2,5,7>
+    1772535978U, // <5,7,2,u>: Cost 2 vuzpr RHS, <0,2,0,u>
     2625636502U, // <5,7,3,0>: Cost 3 vext2 <1,3,5,7>, <3,0,1,2>
-    2625636604U, // <5,7,3,1>: Cost 3 vext2 <1,3,5,7>, <3,1,3,5>
-    3699378478U, // <5,7,3,2>: Cost 4 vext2 <1,3,5,7>, <3,2,0,1>
-    2625636764U, // <5,7,3,3>: Cost 3 vext2 <1,3,5,7>, <3,3,3,3>
+    1772537510U, // <5,7,3,1>: Cost 2 vuzpr RHS, <2,3,0,1>
+    2846278606U, // <5,7,3,2>: Cost 3 vuzpr RHS, <1,3,0,2>
+    1772536792U, // <5,7,3,3>: Cost 2 vuzpr RHS, <1,3,1,3>
     2625636866U, // <5,7,3,4>: Cost 3 vext2 <1,3,5,7>, <3,4,5,6>
-    2625636959U, // <5,7,3,5>: Cost 3 vext2 <1,3,5,7>, <3,5,7,0>
-    3699378808U, // <5,7,3,6>: Cost 4 vext2 <1,3,5,7>, <3,6,0,7>
-    2640235254U, // <5,7,3,7>: Cost 3 vext2 <3,7,5,7>, <3,7,5,7>
-    2625637150U, // <5,7,3,u>: Cost 3 vext2 <1,3,5,7>, <3,u,1,2>
+    1772537550U, // <5,7,3,5>: Cost 2 vuzpr RHS, <2,3,4,5>
+    2846278628U, // <5,7,3,6>: Cost 3 vuzpr RHS, <1,3,2,6>
+    1772536832U, // <5,7,3,7>: Cost 2 vuzpr RHS, <1,3,5,7>
+    1772536797U, // <5,7,3,u>: Cost 2 vuzpr RHS, <1,3,1,u>
     2571919462U, // <5,7,4,0>: Cost 3 vext1 <3,5,7,4>, LHS
     2571920384U, // <5,7,4,1>: Cost 3 vext1 <3,5,7,4>, <1,3,5,7>
-    3699379260U, // <5,7,4,2>: Cost 4 vext2 <1,3,5,7>, <4,2,6,0>
+    2846277958U, // <5,7,4,2>: Cost 3 vuzpr RHS, <0,4,0,2>
     2571922019U, // <5,7,4,3>: Cost 3 vext1 <3,5,7,4>, <3,5,7,4>
-    2571922742U, // <5,7,4,4>: Cost 3 vext1 <3,5,7,4>, RHS
+    1772539088U, // <5,7,4,4>: Cost 2 vuzpr RHS, <4,4,4,4>
     1551895862U, // <5,7,4,5>: Cost 2 vext2 <1,3,5,7>, RHS
-    2846277980U, // <5,7,4,6>: Cost 3 vuzpr RHS, <0,4,2,6>
-    2646207951U, // <5,7,4,7>: Cost 3 vext2 <4,7,5,7>, <4,7,5,7>
+    1772536156U, // <5,7,4,6>: Cost 2 vuzpr RHS, <0,4,2,6>
+    2846279466U, // <5,7,4,7>: Cost 3 vuzpr RHS, <2,4,5,7>
     1551896105U, // <5,7,4,u>: Cost 2 vext2 <1,3,5,7>, RHS
-    2583871590U, // <5,7,5,0>: Cost 3 vext1 <5,5,7,5>, LHS
-    2652180176U, // <5,7,5,1>: Cost 3 vext2 <5,7,5,7>, <5,1,7,3>
-    2625638177U, // <5,7,5,2>: Cost 3 vext2 <1,3,5,7>, <5,2,7,3>
-    2625638262U, // <5,7,5,3>: Cost 3 vext2 <1,3,5,7>, <5,3,7,7>
-    2583874870U, // <5,7,5,4>: Cost 3 vext1 <5,5,7,5>, RHS
-    2846281732U, // <5,7,5,5>: Cost 3 vuzpr RHS, <5,5,5,5>
-    2651517015U, // <5,7,5,6>: Cost 3 vext2 <5,6,5,7>, <5,6,5,7>
-    1772539190U, // <5,7,5,7>: Cost 2 vuzpr RHS, RHS
-    1772539191U, // <5,7,5,u>: Cost 2 vuzpr RHS, RHS
-    2846281826U, // <5,7,6,0>: Cost 3 vuzpr RHS, <5,6,7,0>
-    3699380615U, // <5,7,6,1>: Cost 4 vext2 <1,3,5,7>, <6,1,3,5>
-    2846281108U, // <5,7,6,2>: Cost 3 vuzpr RHS, <4,6,u,2>
-    2589854210U, // <5,7,6,3>: Cost 3 vext1 <6,5,7,6>, <3,4,5,6>
-    2846281830U, // <5,7,6,4>: Cost 3 vuzpr RHS, <5,6,7,4>
-    2725467658U, // <5,7,6,5>: Cost 3 vext3 <6,7,u,5>, <7,6,5,u>
-    2846281076U, // <5,7,6,6>: Cost 3 vuzpr RHS, <4,6,4,6>
-    2846279610U, // <5,7,6,7>: Cost 3 vuzpr RHS, <2,6,3,7>
-    2846279611U, // <5,7,6,u>: Cost 3 vuzpr RHS, <2,6,3,u>
+    2846280287U, // <5,7,5,0>: Cost 3 vuzpr RHS, <3,5,7,0>
+    2846278767U, // <5,7,5,1>: Cost 3 vuzpr RHS, <1,5,0,1>
+    2846278768U, // <5,7,5,2>: Cost 3 vuzpr RHS, <1,5,0,2>
+    2846280236U, // <5,7,5,3>: Cost 3 vuzpr RHS, <3,5,1,3>
+    2846278770U, // <5,7,5,4>: Cost 3 vuzpr RHS, <1,5,0,4>
+    1772539908U, // <5,7,5,5>: Cost 2 vuzpr RHS, <5,5,5,5>
+    2846278808U, // <5,7,5,6>: Cost 3 vuzpr RHS, <1,5,4,6>
+    698797366U,  // <5,7,5,7>: Cost 1 vuzpr RHS, RHS
+    698797367U,  // <5,7,5,u>: Cost 1 vuzpr RHS, RHS
+    1772540002U, // <5,7,6,0>: Cost 2 vuzpr RHS, <5,6,7,0>
+    2846279577U, // <5,7,6,1>: Cost 3 vuzpr RHS, <2,6,0,1>
+    1772539212U, // <5,7,6,2>: Cost 2 vuzpr RHS, <4,6,0,2>
+    2846279588U, // <5,7,6,3>: Cost 3 vuzpr RHS, <2,6,1,3>
+    1772540006U, // <5,7,6,4>: Cost 2 vuzpr RHS, <5,6,7,4>
+    2846279617U, // <5,7,6,5>: Cost 3 vuzpr RHS, <2,6,4,5>
+    1772539252U, // <5,7,6,6>: Cost 2 vuzpr RHS, <4,6,4,6>
+    1772537786U, // <5,7,6,7>: Cost 2 vuzpr RHS, <2,6,3,7>
+    1772537787U, // <5,7,6,u>: Cost 2 vuzpr RHS, <2,6,3,u>
     1510146150U, // <5,7,7,0>: Cost 2 vext1 <5,5,7,7>, LHS
-    2846282574U, // <5,7,7,1>: Cost 3 vuzpr RHS, <6,7,0,1>
-    2583889512U, // <5,7,7,2>: Cost 3 vext1 <5,5,7,7>, <2,2,2,2>
-    2846281919U, // <5,7,7,3>: Cost 3 vuzpr RHS, <5,7,u,3>
+    1772540750U, // <5,7,7,1>: Cost 2 vuzpr RHS, <6,7,0,1>
+    2846281846U, // <5,7,7,2>: Cost 3 vuzpr RHS, <5,7,0,2>
+    1772540032U, // <5,7,7,3>: Cost 2 vuzpr RHS, <5,7,1,3>
     1510149430U, // <5,7,7,4>: Cost 2 vext1 <5,5,7,7>, RHS
-    1510150168U, // <5,7,7,5>: Cost 2 vext1 <5,5,7,7>, <5,5,7,7>
-    2583892474U, // <5,7,7,6>: Cost 3 vext1 <5,5,7,7>, <6,2,7,3>
-    2625640044U, // <5,7,7,7>: Cost 3 vext2 <1,3,5,7>, <7,7,7,7>
-    1510151982U, // <5,7,7,u>: Cost 2 vext1 <5,5,7,7>, LHS
-    1510154342U, // <5,7,u,0>: Cost 2 vext1 <5,5,7,u>, LHS
+    1772540790U, // <5,7,7,5>: Cost 2 vuzpr RHS, <6,7,4,5>
+    2846280410U, // <5,7,7,6>: Cost 3 vuzpr RHS, <3,7,2,6>
+    1772540072U, // <5,7,7,7>: Cost 2 vuzpr RHS, <5,7,5,7>
+    1772540037U, // <5,7,7,u>: Cost 2 vuzpr RHS, <5,7,1,u>
+    1772537212U, // <5,7,u,0>: Cost 2 vuzpr RHS, <1,u,3,0>
     1551898414U, // <5,7,u,1>: Cost 2 vext2 <1,3,5,7>, LHS
-    2625640325U, // <5,7,u,2>: Cost 3 vext2 <1,3,5,7>, <u,2,3,0>
-    1772536477U, // <5,7,u,3>: Cost 2 vuzpr RHS, LHS
-    1510157622U, // <5,7,u,4>: Cost 2 vext1 <5,5,7,u>, RHS
+    1772536458U, // <5,7,u,2>: Cost 2 vuzpr RHS, <0,u,0,2>
+    698794653U,  // <5,7,u,3>: Cost 1 vuzpr RHS, LHS
+    1772537216U, // <5,7,u,4>: Cost 2 vuzpr RHS, <1,u,3,4>
     1551898778U, // <5,7,u,5>: Cost 2 vext2 <1,3,5,7>, RHS
-    2625640656U, // <5,7,u,6>: Cost 3 vext2 <1,3,5,7>, <u,6,3,7>
-    1772539433U, // <5,7,u,7>: Cost 2 vuzpr RHS, RHS
-    1551898981U, // <5,7,u,u>: Cost 2 vext2 <1,3,5,7>, LHS
-    2625642496U, // <5,u,0,0>: Cost 3 vext2 <1,3,5,u>, <0,0,0,0>
+    1772536480U, // <5,7,u,6>: Cost 2 vuzpr RHS, <0,u,2,6>
+    698797609U,  // <5,7,u,7>: Cost 1 vuzpr RHS, RHS
+    698794658U,  // <5,7,u,u>: Cost 1 vuzpr RHS, LHS
+    1772544000U, // <5,u,0,0>: Cost 2 vuzpr RHS, <0,0,0,0>
     1551900774U, // <5,u,0,1>: Cost 2 vext2 <1,3,5,u>, LHS
-    2625642660U, // <5,u,0,2>: Cost 3 vext2 <1,3,5,u>, <0,2,0,2>
-    2698630885U, // <5,u,0,3>: Cost 3 vext3 <2,3,4,5>, <u,0,3,2>
+    1772544020U, // <5,u,0,2>: Cost 2 vuzpr RHS, <0,0,2,2>
+    2690299621U, // <5,u,0,3>: Cost 3 vext3 <0,u,u,5>, <u,0,3,2>
     2687129325U, // <5,u,0,4>: Cost 3 vext3 <0,4,1,5>, <u,0,4,1>
     2689783542U, // <5,u,0,5>: Cost 3 vext3 <0,u,1,5>, <u,0,5,1>
-    2266134675U, // <5,u,0,6>: Cost 3 vrev <u,5,6,0>
-    2595853772U, // <5,u,0,7>: Cost 3 vext1 <7,5,u,0>, <7,5,u,0>
+    2846285866U, // <5,u,0,6>: Cost 3 vuzpr RHS, <0,0,4,6>
+    2973732168U, // <5,u,0,7>: Cost 3 vzipr <3,4,5,0>, RHS
     1551901341U, // <5,u,0,u>: Cost 2 vext2 <1,3,5,u>, LHS
     2625643254U, // <5,u,1,0>: Cost 3 vext2 <1,3,5,u>, <1,0,3,2>
-    2625643316U, // <5,u,1,1>: Cost 3 vext2 <1,3,5,u>, <1,1,1,1>
+    1772544820U, // <5,u,1,1>: Cost 2 vuzpr RHS, <1,1,1,1>
     1613387566U, // <5,u,1,2>: Cost 2 vext3 <0,4,1,5>, LHS
-    1551901697U, // <5,u,1,3>: Cost 2 vext2 <1,3,5,u>, <1,3,5,u>
+    698802278U,  // <5,u,1,3>: Cost 1 vuzpr RHS, LHS
     2626307154U, // <5,u,1,4>: Cost 3 vext2 <1,4,5,u>, <1,4,5,u>
-    2689783622U, // <5,u,1,5>: Cost 3 vext3 <0,u,1,5>, <u,1,5,0>
-    2627634420U, // <5,u,1,6>: Cost 3 vext2 <1,6,5,u>, <1,6,5,u>
-    2982366536U, // <5,u,1,7>: Cost 3 vzipr <4,u,5,1>, RHS
-    1613387620U, // <5,u,1,u>: Cost 2 vext3 <0,4,1,5>, LHS
-    2846286742U, // <5,u,2,0>: Cost 3 vuzpr RHS, <1,2,3,0>
-    2685796528U, // <5,u,2,1>: Cost 3 vext3 <0,2,1,5>, <0,2,1,5>
-    2625644136U, // <5,u,2,2>: Cost 3 vext2 <1,3,5,u>, <2,2,2,2>
-    2687129480U, // <5,u,2,3>: Cost 3 vext3 <0,4,1,5>, <u,2,3,3>
-    2632279851U, // <5,u,2,4>: Cost 3 vext2 <2,4,5,u>, <2,4,5,u>
+    1843009690U, // <5,u,1,5>: Cost 2 vzipl <5,1,7,3>, RHS
+    1980766362U, // <5,u,1,6>: Cost 2 vtrnl <5,7,1,3>, RHS
+    1908624712U, // <5,u,1,7>: Cost 2 vzipr <4,u,5,1>, RHS
+    698802283U,  // <5,u,1,u>: Cost 1 vuzpr RHS, LHS
+    1772544918U, // <5,u,2,0>: Cost 2 vuzpr RHS, <1,2,3,0>
+    2560033976U, // <5,u,2,1>: Cost 3 vext1 <1,5,u,2>, <1,5,u,2>
+    1772544164U, // <5,u,2,2>: Cost 2 vuzpr RHS, <0,2,0,2>
+    1772545650U, // <5,u,2,3>: Cost 2 vuzpr RHS, <2,2,3,3>
+    1772544922U, // <5,u,2,4>: Cost 2 vuzpr RHS, <1,2,3,4>
     2625644394U, // <5,u,2,5>: Cost 3 vext2 <1,3,5,u>, <2,5,3,u>
-    2625644474U, // <5,u,2,6>: Cost 3 vext2 <1,3,5,u>, <2,6,3,7>
-    2713966508U, // <5,u,2,7>: Cost 3 vext3 <4,u,5,5>, <u,2,7,3>
-    2625644603U, // <5,u,2,u>: Cost 3 vext2 <1,3,5,u>, <2,u,0,1>
+    1772544204U, // <5,u,2,6>: Cost 2 vuzpr RHS, <0,2,4,6>
+    3096317481U, // <5,u,2,7>: Cost 3 vtrnr <1,5,0,2>, RHS
+    1772544170U, // <5,u,2,u>: Cost 2 vuzpr RHS, <0,2,0,u>
     2687129532U, // <5,u,3,0>: Cost 3 vext3 <0,4,1,5>, <u,3,0,1>
-    2636261649U, // <5,u,3,1>: Cost 3 vext2 <3,1,5,u>, <3,1,5,u>
+    1772545702U, // <5,u,3,1>: Cost 2 vuzpr RHS, <2,3,0,1>
     2636925282U, // <5,u,3,2>: Cost 3 vext2 <3,2,5,u>, <3,2,5,u>
-    2625644956U, // <5,u,3,3>: Cost 3 vext2 <1,3,5,u>, <3,3,3,3>
+    1772544984U, // <5,u,3,3>: Cost 2 vuzpr RHS, <1,3,1,3>
     1564510724U, // <5,u,3,4>: Cost 2 vext2 <3,4,5,u>, <3,4,5,u>
-    2625645160U, // <5,u,3,5>: Cost 3 vext2 <1,3,5,u>, <3,5,u,0>
-    2734610422U, // <5,u,3,6>: Cost 3 vext3 <u,3,6,5>, <u,3,6,5>
-    2640243447U, // <5,u,3,7>: Cost 3 vext2 <3,7,5,u>, <3,7,5,u>
+    1772545742U, // <5,u,3,5>: Cost 2 vuzpr RHS, <2,3,4,5>
+    2846286820U, // <5,u,3,6>: Cost 3 vuzpr RHS, <1,3,2,6>
+    1772545024U, // <5,u,3,7>: Cost 2 vuzpr RHS, <1,3,5,7>
     1567165256U, // <5,u,3,u>: Cost 2 vext2 <3,u,5,u>, <3,u,5,u>
     1567828889U, // <5,u,4,0>: Cost 2 vext2 <4,0,5,u>, <4,0,5,u>
-    1661163546U, // <5,u,4,1>: Cost 2 vext3 <u,4,1,5>, <u,4,1,5>
-    2734463012U, // <5,u,4,2>: Cost 3 vext3 <u,3,4,5>, <u,4,2,6>
-    2698631212U, // <5,u,4,3>: Cost 3 vext3 <2,3,4,5>, <u,4,3,5>
-    1570458842U, // <5,u,4,4>: Cost 2 vext2 <4,4,5,5>, <4,4,5,5>
+    1845024558U, // <5,u,4,1>: Cost 2 vzipl <5,4,7,6>, LHS
+    2642897979U, // <5,u,4,2>: Cost 3 vext2 <4,2,5,u>, <4,2,5,u>
+    3096330909U, // <5,u,4,3>: Cost 3 vtrnr <1,5,0,4>, LHS
+    1772547280U, // <5,u,4,4>: Cost 2 vuzpr RHS, <4,4,4,4>
     1551904054U, // <5,u,4,5>: Cost 2 vext2 <1,3,5,u>, RHS
-    2846286172U, // <5,u,4,6>: Cost 3 vuzpr RHS, <0,4,2,6>
-    2646216144U, // <5,u,4,7>: Cost 3 vext2 <4,7,5,u>, <4,7,5,u>
+    1772544348U, // <5,u,4,6>: Cost 2 vuzpr RHS, <0,4,2,6>
+    3096333865U, // <5,u,4,7>: Cost 3 vtrnr <1,5,0,4>, RHS
     1551904297U, // <5,u,4,u>: Cost 2 vext2 <1,3,5,u>, RHS
     1509982310U, // <5,u,5,0>: Cost 2 vext1 <5,5,5,5>, LHS
-    2560058555U, // <5,u,5,1>: Cost 3 vext1 <1,5,u,5>, <1,5,u,5>
-    2698926194U, // <5,u,5,2>: Cost 3 vext3 <2,3,u,5>, <u,5,2,3>
-    2698631295U, // <5,u,5,3>: Cost 3 vext3 <2,3,4,5>, <u,5,3,7>
+    1845532462U, // <5,u,5,1>: Cost 2 vzipl <5,5,5,5>, LHS
+    1979750190U, // <5,u,5,2>: Cost 2 vtrnl <5,5,5,5>, LHS
+    1908654236U, // <5,u,5,3>: Cost 2 vzipr <4,u,5,5>, LHS
     1509985590U, // <5,u,5,4>: Cost 2 vext1 <5,5,5,5>, RHS
     229035318U,  // <5,u,5,5>: Cost 1 vdup1 RHS
     1613387930U, // <5,u,5,6>: Cost 2 vext3 <0,4,1,5>, RHS
-    1772547382U, // <5,u,5,7>: Cost 2 vuzpr RHS, RHS
-    229035318U,  // <5,u,5,u>: Cost 1 vdup1 RHS
-    2566037606U, // <5,u,6,0>: Cost 3 vext1 <2,5,u,6>, LHS
-    2920044334U, // <5,u,6,1>: Cost 3 vzipl <5,6,7,0>, LHS
-    2566039445U, // <5,u,6,2>: Cost 3 vext1 <2,5,u,6>, <2,5,u,6>
-    2687129808U, // <5,u,6,3>: Cost 3 vext3 <0,4,1,5>, <u,6,3,7>
-    2566040886U, // <5,u,6,4>: Cost 3 vext1 <2,5,u,6>, RHS
-    2920044698U, // <5,u,6,5>: Cost 3 vzipl <5,6,7,0>, RHS
-    2846289268U, // <5,u,6,6>: Cost 3 vuzpr RHS, <4,6,4,6>
-    2973781320U, // <5,u,6,7>: Cost 3 vzipr <3,4,5,6>, RHS
-    2687129853U, // <5,u,6,u>: Cost 3 vext3 <0,4,1,5>, <u,6,u,7>
+    698805558U,  // <5,u,5,7>: Cost 1 vuzpr RHS, RHS
+    698805559U,  // <5,u,5,u>: Cost 1 vuzpr RHS, RHS
+    1772548194U, // <5,u,6,0>: Cost 2 vuzpr RHS, <5,6,7,0>
+    1846302510U, // <5,u,6,1>: Cost 2 vzipl <5,6,7,0>, LHS
+    1772547404U, // <5,u,6,2>: Cost 2 vuzpr RHS, <4,6,0,2>
+    1900036252U, // <5,u,6,3>: Cost 2 vzipr <3,4,5,6>, LHS
+    1772548198U, // <5,u,6,4>: Cost 2 vuzpr RHS, <5,6,7,4>
+    1846302874U, // <5,u,6,5>: Cost 2 vzipl <5,6,7,0>, RHS
+    1772547444U, // <5,u,6,6>: Cost 2 vuzpr RHS, <4,6,4,6>
+    1900039496U, // <5,u,6,7>: Cost 2 vzipr <3,4,5,6>, RHS
+    1900036257U, // <5,u,6,u>: Cost 2 vzipr <3,4,5,6>, LHS
     430506086U,  // <5,u,7,0>: Cost 1 vext1 RHS, LHS
     1486333117U, // <5,u,7,1>: Cost 2 vext1 <1,5,u,7>, <1,5,u,7>
-    1504249448U, // <5,u,7,2>: Cost 2 vext1 RHS, <2,2,2,2>
-    2040971933U, // <5,u,7,3>: Cost 2 vtrnr RHS, LHS
+    2040971914U, // <5,u,7,2>: Cost 2 vtrnr RHS, <0,u,0,2>
+    967230109U,  // <5,u,7,3>: Cost 1 vtrnr RHS, LHS
     430509384U,  // <5,u,7,4>: Cost 1 vext1 RHS, RHS
-    1504251600U, // <5,u,7,5>: Cost 2 vext1 RHS, <5,1,7,3>
+    2040971926U, // <5,u,7,5>: Cost 2 vtrnr RHS, <0,u,1,5>
     118708378U,  // <5,u,7,6>: Cost 1 vrev RHS
-    2040974889U, // <5,u,7,7>: Cost 2 vtrnr RHS, RHS
-    430511918U,  // <5,u,7,u>: Cost 1 vext1 RHS, LHS
+    967233065U,  // <5,u,7,7>: Cost 1 vtrnr RHS, RHS
+    967230114U,  // <5,u,7,u>: Cost 1 vtrnr RHS, LHS
     430514278U,  // <5,u,u,0>: Cost 1 vext1 RHS, LHS
     1551906606U, // <5,u,u,1>: Cost 2 vext2 <1,3,5,u>, LHS
     1613388133U, // <5,u,u,2>: Cost 2 vext3 <0,4,1,5>, LHS
-    1772544669U, // <5,u,u,3>: Cost 2 vuzpr RHS, LHS
+    698802845U,  // <5,u,u,3>: Cost 1 vuzpr RHS, LHS
     430517577U,  // <5,u,u,4>: Cost 1 vext1 RHS, RHS
     229035318U,  // <5,u,u,5>: Cost 1 vdup1 RHS
     118716571U,  // <5,u,u,6>: Cost 1 vrev RHS
-    1772547625U, // <5,u,u,7>: Cost 2 vuzpr RHS, RHS
-    430520110U,  // <5,u,u,u>: Cost 1 vext1 RHS, LHS
+    698805801U,  // <5,u,u,7>: Cost 1 vuzpr RHS, RHS
+    698802850U,  // <5,u,u,u>: Cost 1 vuzpr RHS, LHS
     2686025728U, // <6,0,0,0>: Cost 3 vext3 <0,2,4,6>, <0,0,0,0>
     2686025738U, // <6,0,0,1>: Cost 3 vext3 <0,2,4,6>, <0,0,1,1>
-    2686025748U, // <6,0,0,2>: Cost 3 vext3 <0,2,4,6>, <0,0,2,2>
-    3779084320U, // <6,0,0,3>: Cost 4 vext3 <3,4,5,6>, <0,0,3,5>
+    1718206566U, // <6,0,0,2>: Cost 2 vuzpl <6,7,0,1>, LHS
+    2852933922U, // <6,0,0,3>: Cost 3 vuzpr <5,6,7,0>, <6,0,1,3>
     2642903388U, // <6,0,0,4>: Cost 3 vext2 <4,2,6,0>, <0,4,2,6>
-    3657723939U, // <6,0,0,5>: Cost 4 vext1 <5,6,0,0>, <5,6,0,0>
-    3926676514U, // <6,0,0,6>: Cost 4 vuzpr <5,6,7,0>, <7,0,5,6>
-    3926675786U, // <6,0,0,7>: Cost 4 vuzpr <5,6,7,0>, <6,0,5,7>
-    2686025802U, // <6,0,0,u>: Cost 3 vext3 <0,2,4,6>, <0,0,u,2>
+    2852934680U, // <6,0,0,5>: Cost 3 vuzpr <5,6,7,0>, <7,0,4,5>
+    2852934690U, // <6,0,0,6>: Cost 3 vuzpr <5,6,7,0>, <7,0,5,6>
+    2852933962U, // <6,0,0,7>: Cost 3 vuzpr <5,6,7,0>, <6,0,5,7>
+    1718206620U, // <6,0,0,u>: Cost 2 vuzpl <6,7,0,1>, LHS
     2566070374U, // <6,0,1,0>: Cost 3 vext1 <2,6,0,1>, LHS
-    3759767642U, // <6,0,1,1>: Cost 4 vext3 <0,2,4,6>, <0,1,1,0>
+    2852930356U, // <6,0,1,1>: Cost 3 vuzpr <5,6,7,0>, <1,1,1,1>
     1612284006U, // <6,0,1,2>: Cost 2 vext3 <0,2,4,6>, LHS
-    2583988738U, // <6,0,1,3>: Cost 3 vext1 <5,6,0,1>, <3,4,5,6>
+    1779187814U, // <6,0,1,3>: Cost 2 vuzpr <5,6,7,0>, LHS
     2566073654U, // <6,0,1,4>: Cost 3 vext1 <2,6,0,1>, RHS
     2583990308U, // <6,0,1,5>: Cost 3 vext1 <5,6,0,1>, <5,6,0,1>
     2589963005U, // <6,0,1,6>: Cost 3 vext1 <6,6,0,1>, <6,6,0,1>
-    2595935702U, // <6,0,1,7>: Cost 3 vext1 <7,6,0,1>, <7,6,0,1>
+    2791949566U, // <6,0,1,7>: Cost 3 vuzpl <6,7,0,1>, <1,6,7,0>
     1612284060U, // <6,0,1,u>: Cost 2 vext3 <0,2,4,6>, LHS
-    2686025892U, // <6,0,2,0>: Cost 3 vext3 <0,2,4,6>, <0,2,0,2>
-    2685804721U, // <6,0,2,1>: Cost 3 vext3 <0,2,1,6>, <0,2,1,6>
-    3759620282U, // <6,0,2,2>: Cost 4 vext3 <0,2,2,6>, <0,2,2,6>
+    1504280678U, // <6,0,2,0>: Cost 2 vext1 <4,6,0,2>, LHS
+    1849639014U, // <6,0,2,1>: Cost 2 vzipl <6,2,7,3>, LHS
+    2578024040U, // <6,0,2,2>: Cost 3 vext1 <4,6,0,2>, <2,2,2,2>
     2705342658U, // <6,0,2,3>: Cost 3 vext3 <3,4,5,6>, <0,2,3,5>
     1612284108U, // <6,0,2,4>: Cost 2 vext3 <0,2,4,6>, <0,2,4,6>
-    3706029956U, // <6,0,2,5>: Cost 4 vext2 <2,4,6,0>, <2,5,6,7>
-    2686173406U, // <6,0,2,6>: Cost 3 vext3 <0,2,6,6>, <0,2,6,6>
-    3651769338U, // <6,0,2,7>: Cost 4 vext1 <4,6,0,2>, <7,0,1,2>
+    2578026192U, // <6,0,2,5>: Cost 3 vext1 <4,6,0,2>, <5,1,7,3>
+    2578026792U, // <6,0,2,6>: Cost 3 vext1 <4,6,0,2>, <6,0,2,0>
+    2578027514U, // <6,0,2,7>: Cost 3 vext1 <4,6,0,2>, <7,0,1,2>
     1612579056U, // <6,0,2,u>: Cost 2 vext3 <0,2,u,6>, <0,2,u,6>
-    3706030230U, // <6,0,3,0>: Cost 4 vext2 <2,4,6,0>, <3,0,1,2>
+    2852930562U, // <6,0,3,0>: Cost 3 vuzpr <5,6,7,0>, <1,3,6,0>
     2705342720U, // <6,0,3,1>: Cost 3 vext3 <3,4,5,6>, <0,3,1,4>
     2705342730U, // <6,0,3,2>: Cost 3 vext3 <3,4,5,6>, <0,3,2,5>
-    3706030492U, // <6,0,3,3>: Cost 4 vext2 <2,4,6,0>, <3,3,3,3>
+    2852930520U, // <6,0,3,3>: Cost 3 vuzpr <5,6,7,0>, <1,3,1,3>
     2644896258U, // <6,0,3,4>: Cost 3 vext2 <4,5,6,0>, <3,4,5,6>
-    3718638154U, // <6,0,3,5>: Cost 4 vext2 <4,5,6,0>, <3,5,4,6>
-    3729918619U, // <6,0,3,6>: Cost 4 vext2 <6,4,6,0>, <3,6,4,6>
-    3926672384U, // <6,0,3,7>: Cost 4 vuzpr <5,6,7,0>, <1,3,5,7>
-    2705342784U, // <6,0,3,u>: Cost 3 vext3 <3,4,5,6>, <0,3,u,5>
+    2852931278U, // <6,0,3,5>: Cost 3 vuzpr <5,6,7,0>, <2,3,4,5>
+    2852931288U, // <6,0,3,6>: Cost 3 vuzpr <5,6,7,0>, <2,3,5,6>
+    2852930560U, // <6,0,3,7>: Cost 3 vuzpr <5,6,7,0>, <1,3,5,7>
+    2705342783U, // <6,0,3,u>: Cost 3 vext3 <3,4,5,6>, <0,3,u,4>
     2687058250U, // <6,0,4,0>: Cost 3 vext3 <0,4,0,6>, <0,4,0,6>
     2686026066U, // <6,0,4,1>: Cost 3 vext3 <0,2,4,6>, <0,4,1,5>
     1613463900U, // <6,0,4,2>: Cost 2 vext3 <0,4,2,6>, <0,4,2,6>
     3761021285U, // <6,0,4,3>: Cost 4 vext3 <0,4,3,6>, <0,4,3,6>
     2687353198U, // <6,0,4,4>: Cost 3 vext3 <0,4,4,6>, <0,4,4,6>
     2632289590U, // <6,0,4,5>: Cost 3 vext2 <2,4,6,0>, RHS
-    2645560704U, // <6,0,4,6>: Cost 3 vext2 <4,6,6,0>, <4,6,6,0>
+    1718209846U, // <6,0,4,6>: Cost 2 vuzpl <6,7,0,1>, RHS
     2646224337U, // <6,0,4,7>: Cost 3 vext2 <4,7,6,0>, <4,7,6,0>
     1613906322U, // <6,0,4,u>: Cost 2 vext3 <0,4,u,6>, <0,4,u,6>
-    3651788902U, // <6,0,5,0>: Cost 4 vext1 <4,6,0,5>, LHS
-    2687795620U, // <6,0,5,1>: Cost 3 vext3 <0,5,1,6>, <0,5,1,6>
-    3761611181U, // <6,0,5,2>: Cost 4 vext3 <0,5,2,6>, <0,5,2,6>
+    4177010688U, // <6,0,5,0>: Cost 4 vtrnr <2,6,4,5>, <0,0,0,0>
+    2924888166U, // <6,0,5,1>: Cost 3 vzipl <6,5,0,7>, LHS
+    3056156774U, // <6,0,5,2>: Cost 3 vtrnl <6,0,5,7>, LHS
     3723284326U, // <6,0,5,3>: Cost 4 vext2 <5,3,6,0>, <5,3,6,0>
-    2646224838U, // <6,0,5,4>: Cost 3 vext2 <4,7,6,0>, <5,4,7,6>
-    3718639630U, // <6,0,5,5>: Cost 4 vext2 <4,5,6,0>, <5,5,6,6>
-    2652196962U, // <6,0,5,6>: Cost 3 vext2 <5,7,6,0>, <5,6,7,0>
-    2852932918U, // <6,0,5,7>: Cost 3 vuzpr <5,6,7,0>, RHS
-    2852932919U, // <6,0,5,u>: Cost 3 vuzpr <5,6,7,0>, RHS
-    2852933730U, // <6,0,6,0>: Cost 3 vuzpr <5,6,7,0>, <5,6,7,0>
-    2925985894U, // <6,0,6,1>: Cost 3 vzipl <6,6,6,6>, LHS
-    3060203622U, // <6,0,6,2>: Cost 3 vtrnl <6,6,6,6>, LHS
+    3058802892U, // <6,0,5,4>: Cost 3 vtrnl <6,4,5,6>, <0,2,4,6>
+    2852933636U, // <6,0,5,5>: Cost 3 vuzpr <5,6,7,0>, <5,5,5,5>
+    2852932908U, // <6,0,5,6>: Cost 3 vuzpr <5,6,7,0>, <4,5,5,6>
+    1779191094U, // <6,0,5,7>: Cost 2 vuzpr <5,6,7,0>, RHS
+    1779191095U, // <6,0,5,u>: Cost 2 vuzpr <5,6,7,0>, RHS
+    1779191906U, // <6,0,6,0>: Cost 2 vuzpr <5,6,7,0>, <5,6,7,0>
+    1852244070U, // <6,0,6,1>: Cost 2 vzipl <6,6,6,6>, LHS
+    1986461798U, // <6,0,6,2>: Cost 2 vtrnl <6,6,6,6>, LHS
     3718640178U, // <6,0,6,3>: Cost 4 vext2 <4,5,6,0>, <6,3,4,5>
-    2656178832U, // <6,0,6,4>: Cost 3 vext2 <6,4,6,0>, <6,4,6,0>
-    3725939378U, // <6,0,6,5>: Cost 4 vext2 <5,7,6,0>, <6,5,0,7>
-    2657506098U, // <6,0,6,6>: Cost 3 vext2 <6,6,6,0>, <6,6,6,0>
-    2619020110U, // <6,0,6,7>: Cost 3 vext2 <0,2,6,0>, <6,7,0,1>
-    2925986461U, // <6,0,6,u>: Cost 3 vzipl <6,6,6,6>, LHS
-    2572091494U, // <6,0,7,0>: Cost 3 vext1 <3,6,0,7>, LHS
-    2572092310U, // <6,0,7,1>: Cost 3 vext1 <3,6,0,7>, <1,2,3,0>
-    2980495524U, // <6,0,7,2>: Cost 3 vzipr RHS, <0,2,0,2>
+    2852933734U, // <6,0,6,4>: Cost 3 vuzpr <5,6,7,0>, <5,6,7,4>
+    4188965044U, // <6,0,6,5>: Cost 4 vtrnr <4,6,4,6>, <3,0,4,5>
+    2852932980U, // <6,0,6,6>: Cost 3 vuzpr <5,6,7,0>, <4,6,4,6>
+    2645562190U, // <6,0,6,7>: Cost 3 vext2 <4,6,6,0>, <6,7,0,1>
+    1852244637U, // <6,0,6,u>: Cost 2 vzipl <6,6,6,6>, LHS
+    1906753536U, // <6,0,7,0>: Cost 2 vzipr RHS, <0,0,0,0>
+    1906755238U, // <6,0,7,1>: Cost 2 vzipr RHS, <2,3,0,1>
+    1906753700U, // <6,0,7,2>: Cost 2 vzipr RHS, <0,2,0,2>
     2572094072U, // <6,0,7,3>: Cost 3 vext1 <3,6,0,7>, <3,6,0,7>
     2572094774U, // <6,0,7,4>: Cost 3 vext1 <3,6,0,7>, RHS
-    4054238242U, // <6,0,7,5>: Cost 4 vzipr RHS, <1,4,0,5>
-    3645837653U, // <6,0,7,6>: Cost 4 vext1 <3,6,0,7>, <6,0,7,0>
-    4054239054U, // <6,0,7,7>: Cost 4 vzipr RHS, <2,5,0,7>
-    2572097326U, // <6,0,7,u>: Cost 3 vext1 <3,6,0,7>, LHS
-    2686026378U, // <6,0,u,0>: Cost 3 vext3 <0,2,4,6>, <0,u,0,2>
-    2686026386U, // <6,0,u,1>: Cost 3 vext3 <0,2,4,6>, <0,u,1,1>
+    2980496418U, // <6,0,7,5>: Cost 3 vzipr RHS, <1,4,0,5>
+    2980495690U, // <6,0,7,6>: Cost 3 vzipr RHS, <0,4,0,6>
+    2980497230U, // <6,0,7,7>: Cost 3 vzipr RHS, <2,5,0,7>
+    1906753706U, // <6,0,7,u>: Cost 2 vzipr RHS, <0,2,0,u>
+    1906761728U, // <6,0,u,0>: Cost 2 vzipr RHS, <0,0,0,0>
+    1906763430U, // <6,0,u,1>: Cost 2 vzipr RHS, <2,3,0,1>
     1612284573U, // <6,0,u,2>: Cost 2 vext3 <0,2,4,6>, LHS
-    2705343144U, // <6,0,u,3>: Cost 3 vext3 <3,4,5,6>, <0,u,3,5>
+    1779188381U, // <6,0,u,3>: Cost 2 vuzpr <5,6,7,0>, LHS
     1616265906U, // <6,0,u,4>: Cost 2 vext3 <0,u,4,6>, <0,u,4,6>
     2632292506U, // <6,0,u,5>: Cost 3 vext2 <2,4,6,0>, RHS
-    2590020356U, // <6,0,u,6>: Cost 3 vext1 <6,6,0,u>, <6,6,0,u>
-    2852933161U, // <6,0,u,7>: Cost 3 vuzpr <5,6,7,0>, RHS
+    1718212762U, // <6,0,u,6>: Cost 2 vuzpl <6,7,0,1>, RHS
+    1779191337U, // <6,0,u,7>: Cost 2 vuzpr <5,6,7,0>, RHS
     1612284627U, // <6,0,u,u>: Cost 2 vext3 <0,2,4,6>, LHS
     2595995750U, // <6,1,0,0>: Cost 3 vext1 <7,6,1,0>, LHS
-    2646229094U, // <6,1,0,1>: Cost 3 vext2 <4,7,6,1>, LHS
-    3694092492U, // <6,1,0,2>: Cost 4 vext2 <0,4,6,1>, <0,2,4,6>
-    2686026486U, // <6,1,0,3>: Cost 3 vext3 <0,2,4,6>, <1,0,3,2>
-    2595999030U, // <6,1,0,4>: Cost 3 vext1 <7,6,1,0>, RHS
-    3767730952U, // <6,1,0,5>: Cost 4 vext3 <1,5,4,6>, <1,0,5,2>
+    2634948710U, // <6,1,0,1>: Cost 3 vext2 <2,u,6,1>, LHS
+    2846673046U, // <6,1,0,2>: Cost 3 vuzpr <4,6,3,1>, <3,0,1,2>
+    2047623270U, // <6,1,0,3>: Cost 2 vtrnr <5,6,7,0>, LHS
+    2787385548U, // <6,1,0,4>: Cost 3 vuzpl <6,0,1,2>, <0,2,4,6>
+    3060384768U, // <6,1,0,5>: Cost 3 vtrnl <6,7,0,1>, <1,3,5,7>
     2596000590U, // <6,1,0,6>: Cost 3 vext1 <7,6,1,0>, <6,7,0,1>
-    2596001246U, // <6,1,0,7>: Cost 3 vext1 <7,6,1,0>, <7,6,1,0>
-    2686026531U, // <6,1,0,u>: Cost 3 vext3 <0,2,4,6>, <1,0,u,2>
-    3763602219U, // <6,1,1,0>: Cost 4 vext3 <0,u,2,6>, <1,1,0,1>
+    3060385022U, // <6,1,0,7>: Cost 3 vtrnl <6,7,0,1>, <1,6,7,0>
+    2047623275U, // <6,1,0,u>: Cost 2 vtrnr <5,6,7,0>, LHS
+    2578088038U, // <6,1,1,0>: Cost 3 vext1 <4,6,1,1>, LHS
     2686026548U, // <6,1,1,1>: Cost 3 vext3 <0,2,4,6>, <1,1,1,1>
-    3764929346U, // <6,1,1,2>: Cost 4 vext3 <1,1,2,6>, <1,1,2,6>
+    2981778426U, // <6,1,1,2>: Cost 3 vzipr <4,7,6,1>, <7,0,1,2>
     2686026568U, // <6,1,1,3>: Cost 3 vext3 <0,2,4,6>, <1,1,3,3>
     2691334996U, // <6,1,1,4>: Cost 3 vext3 <1,1,4,6>, <1,1,4,6>
     3760874332U, // <6,1,1,5>: Cost 4 vext3 <0,4,1,6>, <1,1,5,5>
-    3765224294U, // <6,1,1,6>: Cost 4 vext3 <1,1,6,6>, <1,1,6,6>
-    3669751263U, // <6,1,1,7>: Cost 4 vext1 <7,6,1,1>, <7,6,1,1>
+    3765076836U, // <6,1,1,6>: Cost 4 vext3 <1,1,4,6>, <1,1,6,4>
+    3908252059U, // <6,1,1,7>: Cost 4 vuzpr <2,6,0,1>, <6,1,5,7>
     2686026613U, // <6,1,1,u>: Cost 3 vext3 <0,2,4,6>, <1,1,u,3>
-    2554208358U, // <6,1,2,0>: Cost 3 vext1 <0,6,1,2>, LHS
-    3763602311U, // <6,1,2,1>: Cost 4 vext3 <0,u,2,6>, <1,2,1,3>
-    3639895971U, // <6,1,2,2>: Cost 4 vext1 <2,6,1,2>, <2,6,1,2>
-    2686026646U, // <6,1,2,3>: Cost 3 vext3 <0,2,4,6>, <1,2,3,0>
-    2554211638U, // <6,1,2,4>: Cost 3 vext1 <0,6,1,2>, RHS
-    3760874411U, // <6,1,2,5>: Cost 4 vext3 <0,4,1,6>, <1,2,5,3>
-    2554212858U, // <6,1,2,6>: Cost 3 vext1 <0,6,1,2>, <6,2,7,3>
-    3802973114U, // <6,1,2,7>: Cost 4 vext3 <7,4,5,6>, <1,2,7,0>
-    2686026691U, // <6,1,2,u>: Cost 3 vext3 <0,2,4,6>, <1,2,u,0>
+    2923381494U, // <6,1,2,0>: Cost 3 vzipl <6,2,7,3>, <1,0,3,2>
+    3114894132U, // <6,1,2,1>: Cost 3 vtrnr <4,6,0,2>, <1,1,1,1>
+    2982447254U, // <6,1,2,2>: Cost 3 vzipr <4,u,6,2>, <3,0,1,2>
+    2041151590U, // <6,1,2,3>: Cost 2 vtrnr <4,6,0,2>, LHS
+    2601987382U, // <6,1,2,4>: Cost 3 vext1 <u,6,1,2>, RHS
+    2982445394U, // <6,1,2,5>: Cost 3 vzipr <4,u,6,2>, <0,4,1,5>
+    2634950586U, // <6,1,2,6>: Cost 3 vext2 <2,u,6,1>, <2,6,3,7>
+    4188635998U, // <6,1,2,7>: Cost 4 vtrnr <4,6,0,2>, <1,1,5,7>
+    2041151595U, // <6,1,2,u>: Cost 2 vtrnr <4,6,0,2>, LHS
     2566160486U, // <6,1,3,0>: Cost 3 vext1 <2,6,1,3>, LHS
     2686026712U, // <6,1,3,1>: Cost 3 vext3 <0,2,4,6>, <1,3,1,3>
     2686026724U, // <6,1,3,2>: Cost 3 vext3 <0,2,4,6>, <1,3,2,6>
-    3759768552U, // <6,1,3,3>: Cost 4 vext3 <0,2,4,6>, <1,3,3,1>
+    3103031398U, // <6,1,3,3>: Cost 3 vtrnr <2,6,1,3>, LHS
     2692662262U, // <6,1,3,4>: Cost 3 vext3 <1,3,4,6>, <1,3,4,6>
     2686026752U, // <6,1,3,5>: Cost 3 vext3 <0,2,4,6>, <1,3,5,7>
     2590053128U, // <6,1,3,6>: Cost 3 vext1 <6,6,1,3>, <6,6,1,3>
-    3663795194U, // <6,1,3,7>: Cost 4 vext1 <6,6,1,3>, <7,0,1,2>
+    3908248576U, // <6,1,3,7>: Cost 4 vuzpr <2,6,0,1>, <1,3,5,7>
     2686026775U, // <6,1,3,u>: Cost 3 vext3 <0,2,4,6>, <1,3,u,3>
-    2641587099U, // <6,1,4,0>: Cost 3 vext2 <4,0,6,1>, <4,0,6,1>
+    2788724044U, // <6,1,4,0>: Cost 3 vuzpl <6,2,1,3>, <4,6,0,2>
     2693104684U, // <6,1,4,1>: Cost 3 vext3 <1,4,1,6>, <1,4,1,6>
-    3639912357U, // <6,1,4,2>: Cost 4 vext1 <2,6,1,4>, <2,6,1,4>
-    2687206462U, // <6,1,4,3>: Cost 3 vext3 <0,4,2,6>, <1,4,3,6>
-    3633941814U, // <6,1,4,4>: Cost 4 vext1 <1,6,1,4>, RHS
+    3766920245U, // <6,1,4,2>: Cost 4 vext3 <1,4,2,6>, <1,4,2,6>
+    2047656038U, // <6,1,4,3>: Cost 2 vtrnr <5,6,7,4>, LHS
+    2791378292U, // <6,1,4,4>: Cost 3 vuzpl <6,6,1,3>, <4,6,4,6>
     2693399632U, // <6,1,4,5>: Cost 3 vext3 <1,4,5,6>, <1,4,5,6>
-    3765077075U, // <6,1,4,6>: Cost 4 vext3 <1,1,4,6>, <1,4,6,0>
+    2834506076U, // <6,1,4,6>: Cost 3 vuzpr <2,6,0,1>, <0,4,2,6>
     2646232530U, // <6,1,4,7>: Cost 3 vext2 <4,7,6,1>, <4,7,6,1>
-    2687206507U, // <6,1,4,u>: Cost 3 vext3 <0,4,2,6>, <1,4,u,6>
-    2647559796U, // <6,1,5,0>: Cost 3 vext2 <5,0,6,1>, <5,0,6,1>
-    3765077118U, // <6,1,5,1>: Cost 4 vext3 <1,1,4,6>, <1,5,1,7>
+    2047656043U, // <6,1,4,u>: Cost 2 vtrnr <5,6,7,4>, LHS
+    2578120806U, // <6,1,5,0>: Cost 3 vext1 <4,6,1,5>, LHS
+    2578121728U, // <6,1,5,1>: Cost 3 vext1 <4,6,1,5>, <1,3,5,7>
     3767583878U, // <6,1,5,2>: Cost 4 vext3 <1,5,2,6>, <1,5,2,6>
     2686026896U, // <6,1,5,3>: Cost 3 vext3 <0,2,4,6>, <1,5,3,7>
     2693989528U, // <6,1,5,4>: Cost 3 vext3 <1,5,4,6>, <1,5,4,6>
-    3767805089U, // <6,1,5,5>: Cost 4 vext3 <1,5,5,6>, <1,5,5,6>
+    4033651026U, // <6,1,5,5>: Cost 4 vzipr <1,1,6,5>, <0,4,1,5>
     2652868706U, // <6,1,5,6>: Cost 3 vext2 <5,u,6,1>, <5,6,7,0>
-    3908250934U, // <6,1,5,7>: Cost 4 vuzpr <2,6,0,1>, RHS
+    2834509110U, // <6,1,5,7>: Cost 3 vuzpr <2,6,0,1>, RHS
     2686026941U, // <6,1,5,u>: Cost 3 vext3 <0,2,4,6>, <1,5,u,7>
-    2554241126U, // <6,1,6,0>: Cost 3 vext1 <0,6,1,6>, LHS
-    3763602639U, // <6,1,6,1>: Cost 4 vext3 <0,u,2,6>, <1,6,1,7>
-    3759547607U, // <6,1,6,2>: Cost 4 vext3 <0,2,1,6>, <1,6,2,6>
-    3115221094U, // <6,1,6,3>: Cost 3 vtrnr <4,6,4,6>, LHS
-    2554244406U, // <6,1,6,4>: Cost 3 vext1 <0,6,1,6>, RHS
-    3760874739U, // <6,1,6,5>: Cost 4 vext3 <0,4,1,6>, <1,6,5,7>
-    2554245944U, // <6,1,6,6>: Cost 3 vext1 <0,6,1,6>, <6,6,6,6>
-    3719975758U, // <6,1,6,7>: Cost 4 vext2 <4,7,6,1>, <6,7,0,1>
-    3115221099U, // <6,1,6,u>: Cost 3 vtrnr <4,6,4,6>, LHS
+    2925986550U, // <6,1,6,0>: Cost 3 vzipl <6,6,6,6>, <1,0,3,2>
+    2834507673U, // <6,1,6,1>: Cost 3 vuzpr <2,6,0,1>, <2,6,0,1>
+    2982480022U, // <6,1,6,2>: Cost 3 vzipr <4,u,6,6>, <3,0,1,2>
+    2041479270U, // <6,1,6,3>: Cost 2 vtrnr <4,6,4,6>, LHS
+    2602020150U, // <6,1,6,4>: Cost 3 vext1 <u,6,1,6>, RHS
+    2982478162U, // <6,1,6,5>: Cost 3 vzipr <4,u,6,6>, <0,4,1,5>
+    2658841400U, // <6,1,6,6>: Cost 3 vext2 <6,u,6,1>, <6,6,6,6>
+    3902277562U, // <6,1,6,7>: Cost 4 vuzpr <1,6,0,1>, <2,6,3,7>
+    2041479275U, // <6,1,6,u>: Cost 2 vtrnr <4,6,4,6>, LHS
     2560221286U, // <6,1,7,0>: Cost 3 vext1 <1,6,1,7>, LHS
-    2560222415U, // <6,1,7,1>: Cost 3 vext1 <1,6,1,7>, <1,6,1,7>
-    2980497558U, // <6,1,7,2>: Cost 3 vzipr RHS, <3,0,1,2>
-    3103211622U, // <6,1,7,3>: Cost 3 vtrnr <2,6,3,7>, LHS
+    1906753546U, // <6,1,7,1>: Cost 2 vzipr RHS, <0,0,1,1>
+    1906755734U, // <6,1,7,2>: Cost 2 vzipr RHS, <3,0,1,2>
+    2029469798U, // <6,1,7,3>: Cost 2 vtrnr <2,6,3,7>, LHS
     2560224566U, // <6,1,7,4>: Cost 3 vext1 <1,6,1,7>, RHS
-    2980495698U, // <6,1,7,5>: Cost 3 vzipr RHS, <0,4,1,5>
-    3633967526U, // <6,1,7,6>: Cost 4 vext1 <1,6,1,7>, <6,1,7,0>
-    4054237686U, // <6,1,7,7>: Cost 4 vzipr RHS, <0,6,1,7>
-    2560227118U, // <6,1,7,u>: Cost 3 vext1 <1,6,1,7>, LHS
+    1906753874U, // <6,1,7,5>: Cost 2 vzipr RHS, <0,4,1,5>
+    2980495537U, // <6,1,7,6>: Cost 3 vzipr RHS, <0,2,1,6>
+    2980495862U, // <6,1,7,7>: Cost 3 vzipr RHS, <0,6,1,7>
+    2029469803U, // <6,1,7,u>: Cost 2 vtrnr <2,6,3,7>, LHS
     2560229478U, // <6,1,u,0>: Cost 3 vext1 <1,6,1,u>, LHS
-    2686027117U, // <6,1,u,1>: Cost 3 vext3 <0,2,4,6>, <1,u,1,3>
-    2686027129U, // <6,1,u,2>: Cost 3 vext3 <0,2,4,6>, <1,u,2,6>
-    2686027132U, // <6,1,u,3>: Cost 3 vext3 <0,2,4,6>, <1,u,3,0>
+    1906761738U, // <6,1,u,1>: Cost 2 vzipr RHS, <0,0,1,1>
+    1906763926U, // <6,1,u,2>: Cost 2 vzipr RHS, <3,0,1,2>
+    2029477990U, // <6,1,u,3>: Cost 2 vtrnr <2,6,3,u>, LHS
     2687206795U, // <6,1,u,4>: Cost 3 vext3 <0,4,2,6>, <1,u,4,6>
-    2686027157U, // <6,1,u,5>: Cost 3 vext3 <0,2,4,6>, <1,u,5,7>
-    2590094093U, // <6,1,u,6>: Cost 3 vext1 <6,6,1,u>, <6,6,1,u>
-    2596066790U, // <6,1,u,7>: Cost 3 vext1 <7,6,1,u>, <7,6,1,u>
-    2686027177U, // <6,1,u,u>: Cost 3 vext3 <0,2,4,6>, <1,u,u,0>
-    2646900736U, // <6,2,0,0>: Cost 3 vext2 <4,u,6,2>, <0,0,0,0>
+    1906762066U, // <6,1,u,5>: Cost 2 vzipr RHS, <0,4,1,5>
+    2980503729U, // <6,1,u,6>: Cost 3 vzipr RHS, <0,2,1,6>
+    2834509353U, // <6,1,u,7>: Cost 3 vuzpr <2,6,0,1>, RHS
+    2029477995U, // <6,1,u,u>: Cost 2 vtrnr <2,6,3,u>, LHS
+    2846457856U, // <6,2,0,0>: Cost 3 vuzpr <4,6,0,2>, <0,0,0,0>
     1573159014U, // <6,2,0,1>: Cost 2 vext2 <4,u,6,2>, LHS
-    2646900900U, // <6,2,0,2>: Cost 3 vext2 <4,u,6,2>, <0,2,0,2>
-    3759769037U, // <6,2,0,3>: Cost 4 vext3 <0,2,4,6>, <2,0,3,0>
+    2846457876U, // <6,2,0,2>: Cost 3 vuzpr <4,6,0,2>, <0,0,2,2>
+    2967830630U, // <6,2,0,3>: Cost 3 vzipr <2,4,6,0>, LHS
     2641592668U, // <6,2,0,4>: Cost 3 vext2 <4,0,6,2>, <0,4,2,6>
     3779085794U, // <6,2,0,5>: Cost 4 vext3 <3,4,5,6>, <2,0,5,3>
     2686027244U, // <6,2,0,6>: Cost 3 vext3 <0,2,4,6>, <2,0,6,4>
-    3669816807U, // <6,2,0,7>: Cost 4 vext1 <7,6,2,0>, <7,6,2,0>
+    3920201190U, // <6,2,0,7>: Cost 4 vuzpr <4,6,0,2>, <2,0,5,7>
     1573159581U, // <6,2,0,u>: Cost 2 vext2 <4,u,6,2>, LHS
     2230527897U, // <6,2,1,0>: Cost 3 vrev <2,6,0,1>
-    2646901556U, // <6,2,1,1>: Cost 3 vext2 <4,u,6,2>, <1,1,1,1>
+    2846458676U, // <6,2,1,1>: Cost 3 vuzpr <4,6,0,2>, <1,1,1,1>
     2646901654U, // <6,2,1,2>: Cost 3 vext2 <4,u,6,2>, <1,2,3,0>
-    2847047782U, // <6,2,1,3>: Cost 3 vuzpr <4,6,u,2>, LHS
-    3771049517U, // <6,2,1,4>: Cost 4 vext3 <2,1,4,6>, <2,1,4,6>
+    1772716134U, // <6,2,1,3>: Cost 2 vuzpr <4,6,0,2>, LHS
+    3759769130U, // <6,2,1,4>: Cost 4 vext3 <0,2,4,6>, <2,1,4,3>
     2646901904U, // <6,2,1,5>: Cost 3 vext2 <4,u,6,2>, <1,5,3,7>
-    2686027324U, // <6,2,1,6>: Cost 3 vext3 <0,2,4,6>, <2,1,6,3>
-    3669825000U, // <6,2,1,7>: Cost 4 vext1 <7,6,2,1>, <7,6,2,1>
-    2231117793U, // <6,2,1,u>: Cost 3 vrev <2,6,u,1>
-    3763603029U, // <6,2,2,0>: Cost 4 vext3 <0,u,2,6>, <2,2,0,1>
+    3114885324U, // <6,2,1,6>: Cost 3 vtrnr <4,6,0,1>, <0,2,4,6>
+    4032291327U, // <6,2,1,7>: Cost 4 vzipr <0,u,6,1>, <0,6,2,7>
+    1772716139U, // <6,2,1,u>: Cost 2 vuzpr <4,6,0,2>, LHS
+    2846458774U, // <6,2,2,0>: Cost 3 vuzpr <4,6,0,2>, <1,2,3,0>
     3759769184U, // <6,2,2,1>: Cost 4 vext3 <0,2,4,6>, <2,2,1,3>
     2686027368U, // <6,2,2,2>: Cost 3 vext3 <0,2,4,6>, <2,2,2,2>
-    2686027378U, // <6,2,2,3>: Cost 3 vext3 <0,2,4,6>, <2,2,3,3>
+    1908703334U, // <6,2,2,3>: Cost 2 vzipr <4,u,6,2>, LHS
     2697971326U, // <6,2,2,4>: Cost 3 vext3 <2,2,4,6>, <2,2,4,6>
     3759769224U, // <6,2,2,5>: Cost 4 vext3 <0,2,4,6>, <2,2,5,7>
     2698118800U, // <6,2,2,6>: Cost 3 vext3 <2,2,6,6>, <2,2,6,6>
-    3920794092U, // <6,2,2,7>: Cost 4 vuzpr <4,6,u,2>, <6,2,5,7>
-    2686027423U, // <6,2,2,u>: Cost 3 vext3 <0,2,4,6>, <2,2,u,3>
+    2846462444U, // <6,2,2,7>: Cost 3 vuzpr <4,6,0,2>, <6,2,5,7>
+    1908703339U, // <6,2,2,u>: Cost 2 vzipr <4,u,6,2>, LHS
     2686027430U, // <6,2,3,0>: Cost 3 vext3 <0,2,4,6>, <2,3,0,1>
-    3759769262U, // <6,2,3,1>: Cost 4 vext3 <0,2,4,6>, <2,3,1,0>
+    2230618020U, // <6,2,3,1>: Cost 3 vrev <2,6,1,3>
     2698487485U, // <6,2,3,2>: Cost 3 vext3 <2,3,2,6>, <2,3,2,6>
-    2705344196U, // <6,2,3,3>: Cost 3 vext3 <3,4,5,6>, <2,3,3,4>
+    2965864550U, // <6,2,3,3>: Cost 3 vzipr <2,1,6,3>, LHS
     2686027470U, // <6,2,3,4>: Cost 3 vext3 <0,2,4,6>, <2,3,4,5>
-    2698708696U, // <6,2,3,5>: Cost 3 vext3 <2,3,5,6>, <2,3,5,6>
-    2724660961U, // <6,2,3,6>: Cost 3 vext3 <6,6,6,6>, <2,3,6,6>
-    2729232104U, // <6,2,3,7>: Cost 3 vext3 <7,4,5,6>, <2,3,7,4>
+    2846459598U, // <6,2,3,5>: Cost 3 vuzpr <4,6,0,2>, <2,3,4,5>
+    2966528348U, // <6,2,3,6>: Cost 3 vzipr <2,2,6,3>, <0,4,2,6>
+    2846458880U, // <6,2,3,7>: Cost 3 vuzpr <4,6,0,2>, <1,3,5,7>
     2686027502U, // <6,2,3,u>: Cost 3 vext3 <0,2,4,6>, <2,3,u,1>
     1567853468U, // <6,2,4,0>: Cost 2 vext2 <4,0,6,2>, <4,0,6,2>
-    3759769351U, // <6,2,4,1>: Cost 4 vext3 <0,2,4,6>, <2,4,1,u>
+    3759769346U, // <6,2,4,1>: Cost 4 vext3 <0,2,4,6>, <2,4,1,3>
     2699151118U, // <6,2,4,2>: Cost 3 vext3 <2,4,2,6>, <2,4,2,6>
     2686027543U, // <6,2,4,3>: Cost 3 vext3 <0,2,4,6>, <2,4,3,6>
     2699298592U, // <6,2,4,4>: Cost 3 vext3 <2,4,4,6>, <2,4,4,6>
     1573162294U, // <6,2,4,5>: Cost 2 vext2 <4,u,6,2>, RHS
     2686027564U, // <6,2,4,6>: Cost 3 vext3 <0,2,4,6>, <2,4,6,0>
-    3719982547U, // <6,2,4,7>: Cost 4 vext2 <4,7,6,2>, <4,7,6,2>
+    3920201514U, // <6,2,4,7>: Cost 4 vuzpr <4,6,0,2>, <2,4,5,7>
     1573162532U, // <6,2,4,u>: Cost 2 vext2 <4,u,6,2>, <4,u,6,2>
-    3779086154U, // <6,2,5,0>: Cost 4 vext3 <3,4,5,6>, <2,5,0,3>
+    4177011606U, // <6,2,5,0>: Cost 4 vtrnr <2,6,4,5>, <1,2,3,0>
     2646904528U, // <6,2,5,1>: Cost 3 vext2 <4,u,6,2>, <5,1,7,3>
     3759769440U, // <6,2,5,2>: Cost 4 vext3 <0,2,4,6>, <2,5,2,7>
     2699888488U, // <6,2,5,3>: Cost 3 vext3 <2,5,3,6>, <2,5,3,6>
     2230855617U, // <6,2,5,4>: Cost 3 vrev <2,6,4,5>
-    2646904836U, // <6,2,5,5>: Cost 3 vext2 <4,u,6,2>, <5,5,5,5>
-    2646904930U, // <6,2,5,6>: Cost 3 vext2 <4,u,6,2>, <5,6,7,0>
-    2847051062U, // <6,2,5,7>: Cost 3 vuzpr <4,6,u,2>, RHS
-    2700257173U, // <6,2,5,u>: Cost 3 vext3 <2,5,u,6>, <2,5,u,6>
+    2846461956U, // <6,2,5,5>: Cost 3 vuzpr <4,6,0,2>, <5,5,5,5>
+    3115213004U, // <6,2,5,6>: Cost 3 vtrnr <4,6,4,5>, <0,2,4,6>
+    1772719414U, // <6,2,5,7>: Cost 2 vuzpr <4,6,0,2>, RHS
+    1772719415U, // <6,2,5,u>: Cost 2 vuzpr <4,6,0,2>, RHS
     2687207321U, // <6,2,6,0>: Cost 3 vext3 <0,4,2,6>, <2,6,0,1>
     2686027684U, // <6,2,6,1>: Cost 3 vext3 <0,2,4,6>, <2,6,1,3>
-    2566260656U, // <6,2,6,2>: Cost 3 vext1 <2,6,2,6>, <2,6,2,6>
-    2685806522U, // <6,2,6,3>: Cost 3 vext3 <0,2,1,6>, <2,6,3,7>
+    1772719436U, // <6,2,6,2>: Cost 2 vuzpr <4,6,0,2>, <4,6,0,2>
+    1908736102U, // <6,2,6,3>: Cost 2 vzipr <4,u,6,6>, LHS
     2687207361U, // <6,2,6,4>: Cost 3 vext3 <0,4,2,6>, <2,6,4,5>
     2686027724U, // <6,2,6,5>: Cost 3 vext3 <0,2,4,6>, <2,6,5,7>
-    2646905656U, // <6,2,6,6>: Cost 3 vext2 <4,u,6,2>, <6,6,6,6>
-    2646905678U, // <6,2,6,7>: Cost 3 vext2 <4,u,6,2>, <6,7,0,1>
-    2686027751U, // <6,2,6,u>: Cost 3 vext3 <0,2,4,6>, <2,6,u,7>
-    2554323046U, // <6,2,7,0>: Cost 3 vext1 <0,6,2,7>, LHS
+    3103129804U, // <6,2,6,6>: Cost 3 vtrnr <2,6,2,6>, <0,2,4,6>
+    2846459834U, // <6,2,6,7>: Cost 3 vuzpr <4,6,0,2>, <2,6,3,7>
+    1908736107U, // <6,2,6,u>: Cost 2 vzipr <4,u,6,6>, LHS
+    2554323455U, // <6,2,7,0>: Cost 3 vext1 <0,6,2,7>, <0,6,2,7>
     2572239606U, // <6,2,7,1>: Cost 3 vext1 <3,6,2,7>, <1,0,3,2>
-    2566268849U, // <6,2,7,2>: Cost 3 vext1 <2,6,2,7>, <2,6,2,7>
-    1906753638U, // <6,2,7,3>: Cost 2 vzipr RHS, LHS
+    1906753556U, // <6,2,7,2>: Cost 2 vzipr RHS, <0,0,2,2>
+    833011814U,  // <6,2,7,3>: Cost 1 vzipr RHS, LHS
     2554326326U, // <6,2,7,4>: Cost 3 vext1 <0,6,2,7>, RHS
-    3304687564U, // <6,2,7,5>: Cost 4 vrev <2,6,5,7>
-    2980495708U, // <6,2,7,6>: Cost 3 vzipr RHS, <0,4,2,6>
-    2646906476U, // <6,2,7,7>: Cost 3 vext2 <4,u,6,2>, <7,7,7,7>
-    1906753643U, // <6,2,7,u>: Cost 2 vzipr RHS, LHS
+    2230945740U, // <6,2,7,5>: Cost 3 vrev <2,6,5,7>
+    1906753884U, // <6,2,7,6>: Cost 2 vzipr RHS, <0,4,2,6>
+    2980495790U, // <6,2,7,7>: Cost 3 vzipr RHS, <0,5,2,7>
+    833011819U,  // <6,2,7,u>: Cost 1 vzipr RHS, LHS
     1591744256U, // <6,2,u,0>: Cost 2 vext2 <u,0,6,2>, <u,0,6,2>
     1573164846U, // <6,2,u,1>: Cost 2 vext2 <4,u,6,2>, LHS
-    2701805650U, // <6,2,u,2>: Cost 3 vext3 <2,u,2,6>, <2,u,2,6>
-    1906761830U, // <6,2,u,3>: Cost 2 vzipr RHS, LHS
+    1906761748U, // <6,2,u,2>: Cost 2 vzipr RHS, <0,0,2,2>
+    833020006U,  // <6,2,u,3>: Cost 1 vzipr RHS, LHS
     2686027875U, // <6,2,u,4>: Cost 3 vext3 <0,2,4,6>, <2,u,4,5>
     1573165210U, // <6,2,u,5>: Cost 2 vext2 <4,u,6,2>, RHS
-    2686322800U, // <6,2,u,6>: Cost 3 vext3 <0,2,u,6>, <2,u,6,0>
-    2847051305U, // <6,2,u,7>: Cost 3 vuzpr <4,6,u,2>, RHS
-    1906761835U, // <6,2,u,u>: Cost 2 vzipr RHS, LHS
-    3759769739U, // <6,3,0,0>: Cost 4 vext3 <0,2,4,6>, <3,0,0,0>
+    1906762076U, // <6,2,u,6>: Cost 2 vzipr RHS, <0,4,2,6>
+    1772719657U, // <6,2,u,7>: Cost 2 vuzpr <4,6,0,2>, RHS
+    833020011U,  // <6,2,u,u>: Cost 1 vzipr RHS, LHS
+    2560311398U, // <6,3,0,0>: Cost 3 vext1 <1,6,3,0>, LHS
     2686027926U, // <6,3,0,1>: Cost 3 vext3 <0,2,4,6>, <3,0,1,2>
     2686027937U, // <6,3,0,2>: Cost 3 vext3 <0,2,4,6>, <3,0,2,4>
-    3640027286U, // <6,3,0,3>: Cost 4 vext1 <2,6,3,0>, <3,0,1,2>
+    3121365976U, // <6,3,0,3>: Cost 3 vtrnr <5,6,7,0>, <1,3,1,3>
     2687207601U, // <6,3,0,4>: Cost 3 vext3 <0,4,2,6>, <3,0,4,2>
-    2705344698U, // <6,3,0,5>: Cost 3 vext3 <3,4,5,6>, <3,0,5,2>
-    3663917847U, // <6,3,0,6>: Cost 4 vext1 <6,6,3,0>, <6,6,3,0>
-    2237008560U, // <6,3,0,7>: Cost 3 vrev <3,6,7,0>
+    3121366734U, // <6,3,0,5>: Cost 3 vtrnr <5,6,7,0>, <2,3,4,5>
+    3121366744U, // <6,3,0,6>: Cost 3 vtrnr <5,6,7,0>, <2,3,5,6>
+    3121366016U, // <6,3,0,7>: Cost 3 vtrnr <5,6,7,0>, <1,3,5,7>
     2686027989U, // <6,3,0,u>: Cost 3 vext3 <0,2,4,6>, <3,0,u,2>
-    3759769823U, // <6,3,1,0>: Cost 4 vext3 <0,2,4,6>, <3,1,0,3>
+    2578235494U, // <6,3,1,0>: Cost 3 vext1 <4,6,3,1>, LHS
     3759769830U, // <6,3,1,1>: Cost 4 vext3 <0,2,4,6>, <3,1,1,1>
     3759769841U, // <6,3,1,2>: Cost 4 vext3 <0,2,4,6>, <3,1,2,3>
-    3759769848U, // <6,3,1,3>: Cost 4 vext3 <0,2,4,6>, <3,1,3,1>
+    2834595942U, // <6,3,1,3>: Cost 3 vuzpr <2,6,1,3>, LHS
     2703280390U, // <6,3,1,4>: Cost 3 vext3 <3,1,4,6>, <3,1,4,6>
     3759769868U, // <6,3,1,5>: Cost 4 vext3 <0,2,4,6>, <3,1,5,3>
-    3704063194U, // <6,3,1,6>: Cost 4 vext2 <2,1,6,3>, <1,6,3,0>
-    3767732510U, // <6,3,1,7>: Cost 4 vext3 <1,5,4,6>, <3,1,7,3>
-    2703280390U, // <6,3,1,u>: Cost 3 vext3 <3,1,4,6>, <3,1,4,6>
-    3704063468U, // <6,3,2,0>: Cost 4 vext2 <2,1,6,3>, <2,0,6,4>
+    3766257940U, // <6,3,1,6>: Cost 4 vext3 <1,3,2,6>, <3,1,6,2>
+    2970494906U, // <6,3,1,7>: Cost 3 vzipr <2,u,6,1>, <2,6,3,7>
+    2834595947U, // <6,3,1,u>: Cost 3 vuzpr <2,6,1,3>, LHS
+    2982445974U, // <6,3,2,0>: Cost 3 vzipr <4,u,6,2>, <1,2,3,0>
     2630321724U, // <6,3,2,1>: Cost 3 vext2 <2,1,6,3>, <2,1,6,3>
-    3759769921U, // <6,3,2,2>: Cost 4 vext3 <0,2,4,6>, <3,2,2,2>
-    3759769928U, // <6,3,2,3>: Cost 4 vext3 <0,2,4,6>, <3,2,3,0>
-    3704063767U, // <6,3,2,4>: Cost 4 vext2 <2,1,6,3>, <2,4,3,6>
-    3704063876U, // <6,3,2,5>: Cost 4 vext2 <2,1,6,3>, <2,5,6,7>
-    2636957626U, // <6,3,2,6>: Cost 3 vext2 <3,2,6,3>, <2,6,3,7>
-    3777907058U, // <6,3,2,7>: Cost 4 vext3 <3,2,7,6>, <3,2,7,6>
-    2630321724U, // <6,3,2,u>: Cost 3 vext2 <2,1,6,3>, <2,1,6,3>
-    3759769983U, // <6,3,3,0>: Cost 4 vext3 <0,2,4,6>, <3,3,0,1>
-    3710036245U, // <6,3,3,1>: Cost 4 vext2 <3,1,6,3>, <3,1,6,3>
+    2630985357U, // <6,3,2,2>: Cost 3 vext2 <2,2,6,3>, <2,2,6,3>
+    3114894296U, // <6,3,2,3>: Cost 3 vtrnr <4,6,0,2>, <1,3,1,3>
+    2982445978U, // <6,3,2,4>: Cost 3 vzipr <4,u,6,2>, <1,2,3,4>
+    3114895054U, // <6,3,2,5>: Cost 3 vtrnr <4,6,0,2>, <2,3,4,5>
+    2834596044U, // <6,3,2,6>: Cost 3 vuzpr <2,6,1,3>, <0,2,4,6>
+    3114894336U, // <6,3,2,7>: Cost 3 vtrnr <4,6,0,2>, <1,3,5,7>
+    2634967155U, // <6,3,2,u>: Cost 3 vext2 <2,u,6,3>, <2,u,6,3>
+    2578251878U, // <6,3,3,0>: Cost 3 vext1 <4,6,3,3>, LHS
+    2792163478U, // <6,3,3,1>: Cost 3 vuzpl <6,7,3,0>, <3,0,1,2>
     2636958054U, // <6,3,3,2>: Cost 3 vext2 <3,2,6,3>, <3,2,6,3>
     2686028188U, // <6,3,3,3>: Cost 3 vext3 <0,2,4,6>, <3,3,3,3>
     2704607656U, // <6,3,3,4>: Cost 3 vext3 <3,3,4,6>, <3,3,4,6>
-    3773041072U, // <6,3,3,5>: Cost 4 vext3 <2,4,4,6>, <3,3,5,5>
-    3711363731U, // <6,3,3,6>: Cost 4 vext2 <3,3,6,3>, <3,6,3,7>
-    3767732676U, // <6,3,3,7>: Cost 4 vext3 <1,5,4,6>, <3,3,7,7>
-    2707999179U, // <6,3,3,u>: Cost 3 vext3 <3,u,5,6>, <3,3,u,5>
+    2792196610U, // <6,3,3,5>: Cost 3 vuzpl <6,7,3,4>, <3,4,5,6>
+    4039607196U, // <6,3,3,6>: Cost 4 vzipr <2,1,6,3>, <1,2,3,6>
+    2972501946U, // <6,3,3,7>: Cost 3 vzipr <3,2,6,3>, <2,6,3,7>
+    2704902604U, // <6,3,3,u>: Cost 3 vext3 <3,3,u,6>, <3,3,u,6>
     2584232038U, // <6,3,4,0>: Cost 3 vext1 <5,6,3,4>, LHS
-    2642267118U, // <6,3,4,1>: Cost 3 vext2 <4,1,6,3>, <4,1,6,3>
+    2705050078U, // <6,3,4,1>: Cost 3 vext3 <3,4,1,6>, <3,4,1,6>
     2642930751U, // <6,3,4,2>: Cost 3 vext2 <4,2,6,3>, <4,2,6,3>
     2705197552U, // <6,3,4,3>: Cost 3 vext3 <3,4,3,6>, <3,4,3,6>
     2584235318U, // <6,3,4,4>: Cost 3 vext1 <5,6,3,4>, RHS
     1631603202U, // <6,3,4,5>: Cost 2 vext3 <3,4,5,6>, <3,4,5,6>
-    2654211444U, // <6,3,4,6>: Cost 3 vext2 <6,1,6,3>, <4,6,4,6>
-    2237041332U, // <6,3,4,7>: Cost 3 vrev <3,6,7,4>
+    2846540124U, // <6,3,4,6>: Cost 3 vuzpr <4,6,1,3>, <0,4,2,6>
+    3121398784U, // <6,3,4,7>: Cost 3 vtrnr <5,6,7,4>, <1,3,5,7>
     1631824413U, // <6,3,4,u>: Cost 2 vext3 <3,4,u,6>, <3,4,u,6>
-    3640066150U, // <6,3,5,0>: Cost 4 vext1 <2,6,3,5>, LHS
+    2578268262U, // <6,3,5,0>: Cost 3 vext1 <4,6,3,5>, LHS
     3772746288U, // <6,3,5,1>: Cost 4 vext3 <2,4,0,6>, <3,5,1,7>
-    3640067790U, // <6,3,5,2>: Cost 4 vext1 <2,6,3,5>, <2,3,4,5>
-    3773041216U, // <6,3,5,3>: Cost 4 vext3 <2,4,4,6>, <3,5,3,5>
+    2648903448U, // <6,3,5,2>: Cost 3 vext2 <5,2,6,3>, <5,2,6,3>
+    2578270722U, // <6,3,5,3>: Cost 3 vext1 <4,6,3,5>, <3,4,5,6>
     2705934922U, // <6,3,5,4>: Cost 3 vext3 <3,5,4,6>, <3,5,4,6>
     3773041236U, // <6,3,5,5>: Cost 4 vext3 <2,4,4,6>, <3,5,5,7>
-    3779086940U, // <6,3,5,6>: Cost 4 vext3 <3,4,5,6>, <3,5,6,6>
-    3767732831U, // <6,3,5,7>: Cost 4 vext3 <1,5,4,6>, <3,5,7,0>
-    2706229870U, // <6,3,5,u>: Cost 3 vext3 <3,5,u,6>, <3,5,u,6>
-    2602164326U, // <6,3,6,0>: Cost 3 vext1 <u,6,3,6>, LHS
-    2654212512U, // <6,3,6,1>: Cost 3 vext2 <6,1,6,3>, <6,1,6,3>
-    2566334393U, // <6,3,6,2>: Cost 3 vext1 <2,6,3,6>, <2,6,3,6>
-    3704066588U, // <6,3,6,3>: Cost 4 vext2 <2,1,6,3>, <6,3,2,1>
-    2602167524U, // <6,3,6,4>: Cost 3 vext1 <u,6,3,6>, <4,4,6,6>
-    3710702321U, // <6,3,6,5>: Cost 4 vext2 <3,2,6,3>, <6,5,7,7>
-    2724661933U, // <6,3,6,6>: Cost 3 vext3 <6,6,6,6>, <3,6,6,6>
-    3710702465U, // <6,3,6,7>: Cost 4 vext2 <3,2,6,3>, <6,7,5,7>
-    2602170158U, // <6,3,6,u>: Cost 3 vext1 <u,6,3,6>, LHS
+    4177016805U, // <6,3,5,6>: Cost 4 vtrnr <2,6,4,5>, <u,3,4,6>
+    2834599222U, // <6,3,5,7>: Cost 3 vuzpr <2,6,1,3>, RHS
+    2834599223U, // <6,3,5,u>: Cost 3 vuzpr <2,6,1,3>, RHS
+    2982478742U, // <6,3,6,0>: Cost 3 vzipr <4,u,6,6>, <1,2,3,0>
+    3115222694U, // <6,3,6,1>: Cost 3 vtrnr <4,6,4,6>, <2,3,0,1>
+    2982478582U, // <6,3,6,2>: Cost 3 vzipr <4,u,6,6>, <1,0,3,2>
+    2834597796U, // <6,3,6,3>: Cost 3 vuzpr <2,6,1,3>, <2,6,1,3>
+    2982478746U, // <6,3,6,4>: Cost 3 vzipr <4,u,6,6>, <1,2,3,4>
+    3115222734U, // <6,3,6,5>: Cost 3 vtrnr <4,6,4,6>, <2,3,4,5>
+    2858487156U, // <6,3,6,6>: Cost 3 vuzpr <6,6,1,3>, <4,6,4,6>
+    3115222016U, // <6,3,6,7>: Cost 3 vtrnr <4,6,4,6>, <1,3,5,7>
+    3115221981U, // <6,3,6,u>: Cost 3 vtrnr <4,6,4,6>, <1,3,1,u>
     1492598886U, // <6,3,7,0>: Cost 2 vext1 <2,6,3,7>, LHS
     2560369889U, // <6,3,7,1>: Cost 3 vext1 <1,6,3,7>, <1,6,3,7>
     1492600762U, // <6,3,7,2>: Cost 2 vext1 <2,6,3,7>, <2,6,3,7>
-    2566342806U, // <6,3,7,3>: Cost 3 vext1 <2,6,3,7>, <3,0,1,2>
+    1906754376U, // <6,3,7,3>: Cost 2 vzipr RHS, <1,1,3,3>
     1492602166U, // <6,3,7,4>: Cost 2 vext1 <2,6,3,7>, RHS
-    2602176208U, // <6,3,7,5>: Cost 3 vext1 <u,6,3,7>, <5,1,7,3>
+    3103213262U, // <6,3,7,5>: Cost 3 vtrnr <2,6,3,7>, <2,3,4,5>
     2566345210U, // <6,3,7,6>: Cost 3 vext1 <2,6,3,7>, <6,2,7,3>
-    2980496528U, // <6,3,7,7>: Cost 3 vzipr RHS, <1,5,3,7>
+    1906754704U, // <6,3,7,7>: Cost 2 vzipr RHS, <1,5,3,7>
     1492604718U, // <6,3,7,u>: Cost 2 vext1 <2,6,3,7>, LHS
     1492607078U, // <6,3,u,0>: Cost 2 vext1 <2,6,3,u>, LHS
     2686028574U, // <6,3,u,1>: Cost 3 vext3 <0,2,4,6>, <3,u,1,2>
     1492608955U, // <6,3,u,2>: Cost 2 vext1 <2,6,3,u>, <2,6,3,u>
-    2566350998U, // <6,3,u,3>: Cost 3 vext1 <2,6,3,u>, <3,0,1,2>
+    1906762568U, // <6,3,u,3>: Cost 2 vzipr RHS, <1,1,3,3>
     1492610358U, // <6,3,u,4>: Cost 2 vext1 <2,6,3,u>, RHS
     1634257734U, // <6,3,u,5>: Cost 2 vext3 <3,u,5,6>, <3,u,5,6>
-    2566353489U, // <6,3,u,6>: Cost 3 vext1 <2,6,3,u>, <6,3,u,0>
-    2980504720U, // <6,3,u,7>: Cost 3 vzipr RHS, <1,5,3,7>
+    2566353411U, // <6,3,u,6>: Cost 3 vext1 <2,6,3,u>, <6,2,u,3>
+    1906762896U, // <6,3,u,7>: Cost 2 vzipr RHS, <1,5,3,7>
     1492612910U, // <6,3,u,u>: Cost 2 vext1 <2,6,3,u>, LHS
-    3703406592U, // <6,4,0,0>: Cost 4 vext2 <2,0,6,4>, <0,0,0,0>
+    2242465098U, // <6,4,0,0>: Cost 3 vrev <4,6,0,0>
     2629664870U, // <6,4,0,1>: Cost 3 vext2 <2,0,6,4>, LHS
-    2629664972U, // <6,4,0,2>: Cost 3 vext2 <2,0,6,4>, <0,2,4,6>
+    1718534246U, // <6,4,0,2>: Cost 2 vuzpl <6,7,4,5>, LHS
     3779087232U, // <6,4,0,3>: Cost 4 vext3 <3,4,5,6>, <4,0,3,1>
     2642936156U, // <6,4,0,4>: Cost 3 vext2 <4,2,6,4>, <0,4,2,6>
     2712570770U, // <6,4,0,5>: Cost 3 vext3 <4,6,4,6>, <4,0,5,1>
-    2687208348U, // <6,4,0,6>: Cost 3 vext3 <0,4,2,6>, <4,0,6,2>
-    3316723081U, // <6,4,0,7>: Cost 4 vrev <4,6,7,0>
-    2629665437U, // <6,4,0,u>: Cost 3 vext2 <2,0,6,4>, LHS
+    1986645302U, // <6,4,0,6>: Cost 2 vtrnl <6,7,0,1>, RHS
+    3652047866U, // <6,4,0,7>: Cost 4 vext1 <4,6,4,0>, <7,0,1,2>
+    1986645320U, // <6,4,0,u>: Cost 2 vtrnl <6,7,0,1>, RHS
     2242473291U, // <6,4,1,0>: Cost 3 vrev <4,6,0,1>
-    3700089652U, // <6,4,1,1>: Cost 4 vext2 <1,4,6,4>, <1,1,1,1>
+    2242547028U, // <6,4,1,1>: Cost 3 vrev <4,6,1,1>
     3703407510U, // <6,4,1,2>: Cost 4 vext2 <2,0,6,4>, <1,2,3,0>
-    2852962406U, // <6,4,1,3>: Cost 3 vuzpr <5,6,7,4>, LHS
-    3628166454U, // <6,4,1,4>: Cost 4 vext1 <0,6,4,1>, RHS
-    3760876514U, // <6,4,1,5>: Cost 4 vext3 <0,4,1,6>, <4,1,5,0>
-    2687208430U, // <6,4,1,6>: Cost 3 vext3 <0,4,2,6>, <4,1,6,3>
-    3316731274U, // <6,4,1,7>: Cost 4 vrev <4,6,7,1>
-    2243063187U, // <6,4,1,u>: Cost 3 vrev <4,6,u,1>
-    2629666284U, // <6,4,2,0>: Cost 3 vext2 <2,0,6,4>, <2,0,6,4>
+    1779220582U, // <6,4,1,3>: Cost 2 vuzpr <5,6,7,4>, LHS
+    3059813748U, // <6,4,1,4>: Cost 3 vtrnl <6,6,1,3>, <4,6,4,6>
+    2242841976U, // <6,4,1,5>: Cost 3 vrev <4,6,5,1>
+    3102941532U, // <6,4,1,6>: Cost 3 vtrnr <2,6,0,1>, <0,4,2,6>
+    2242989450U, // <6,4,1,7>: Cost 3 vrev <4,6,7,1>
+    1779220587U, // <6,4,1,u>: Cost 2 vuzpr <5,6,7,4>, LHS
+    1168739660U, // <6,4,2,0>: Cost 2 vrev <4,6,0,2>
     3703408188U, // <6,4,2,1>: Cost 4 vext2 <2,0,6,4>, <2,1,6,3>
-    3703408232U, // <6,4,2,2>: Cost 4 vext2 <2,0,6,4>, <2,2,2,2>
-    3703408294U, // <6,4,2,3>: Cost 4 vext2 <2,0,6,4>, <2,3,0,1>
+    2242628958U, // <6,4,2,2>: Cost 3 vrev <4,6,2,2>
+    2852963954U, // <6,4,2,3>: Cost 3 vuzpr <5,6,7,4>, <2,2,3,3>
     2632320816U, // <6,4,2,4>: Cost 3 vext2 <2,4,6,4>, <2,4,6,4>
-    2923384118U, // <6,4,2,5>: Cost 3 vzipl <6,2,7,3>, RHS
+    1849642294U, // <6,4,2,5>: Cost 2 vzipl <6,2,7,3>, RHS
     2687208508U, // <6,4,2,6>: Cost 3 vext3 <0,4,2,6>, <4,2,6,0>
-    3760950341U, // <6,4,2,7>: Cost 4 vext3 <0,4,2,6>, <4,2,7,0>
-    2634975348U, // <6,4,2,u>: Cost 3 vext2 <2,u,6,4>, <2,u,6,4>
+    4188636970U, // <6,4,2,7>: Cost 4 vtrnr <4,6,0,2>, <2,4,5,7>
+    1169329556U, // <6,4,2,u>: Cost 2 vrev <4,6,u,2>
     3703408790U, // <6,4,3,0>: Cost 4 vext2 <2,0,6,4>, <3,0,1,2>
-    3316305238U, // <6,4,3,1>: Cost 4 vrev <4,6,1,3>
-    3703408947U, // <6,4,3,2>: Cost 4 vext2 <2,0,6,4>, <3,2,0,6>
-    3703409052U, // <6,4,3,3>: Cost 4 vext2 <2,0,6,4>, <3,3,3,3>
+    2242563414U, // <6,4,3,1>: Cost 3 vrev <4,6,1,3>
+    2242637151U, // <6,4,3,2>: Cost 3 vrev <4,6,2,3>
+    2242710888U, // <6,4,3,3>: Cost 3 vrev <4,6,3,3>
     2644929026U, // <6,4,3,4>: Cost 3 vext2 <4,5,6,4>, <3,4,5,6>
-    3718670922U, // <6,4,3,5>: Cost 4 vext2 <4,5,6,4>, <3,5,4,6>
-    2705345682U, // <6,4,3,6>: Cost 3 vext3 <3,4,5,6>, <4,3,6,5>
-    3926705152U, // <6,4,3,7>: Cost 4 vuzpr <5,6,7,4>, <1,3,5,7>
-    2668817222U, // <6,4,3,u>: Cost 3 vext2 <u,5,6,4>, <3,u,5,6>
-    2590277734U, // <6,4,4,0>: Cost 3 vext1 <6,6,4,4>, LHS
-    3716017135U, // <6,4,4,1>: Cost 4 vext2 <4,1,6,4>, <4,1,6,4>
+    2846623438U, // <6,4,3,5>: Cost 3 vuzpr <4,6,2,4>, <2,3,4,5>
+    2965864652U, // <6,4,3,6>: Cost 3 vzipr <2,1,6,3>, <0,2,4,6>
+    2852963328U, // <6,4,3,7>: Cost 3 vuzpr <5,6,7,4>, <1,3,5,7>
+    2243079573U, // <6,4,3,u>: Cost 3 vrev <4,6,u,3>
+    2242497870U, // <6,4,4,0>: Cost 3 vrev <4,6,0,4>
+    2852967732U, // <6,4,4,1>: Cost 3 vuzpr <5,6,7,4>, <7,4,0,1>
     2642938944U, // <6,4,4,2>: Cost 3 vext2 <4,2,6,4>, <4,2,6,4>
-    3717344401U, // <6,4,4,3>: Cost 4 vext2 <4,3,6,4>, <4,3,6,4>
-    2712571088U, // <6,4,4,4>: Cost 3 vext3 <4,6,4,6>, <4,4,4,4>
+    2852967014U, // <6,4,4,3>: Cost 3 vuzpr <5,6,7,4>, <6,4,1,3>
+    2686029008U, // <6,4,4,4>: Cost 3 vext3 <0,2,4,6>, <4,4,4,4>
     2629668150U, // <6,4,4,5>: Cost 3 vext2 <2,0,6,4>, RHS
-    1637649636U, // <6,4,4,6>: Cost 2 vext3 <4,4,6,6>, <4,4,6,6>
-    2646257109U, // <6,4,4,7>: Cost 3 vext2 <4,7,6,4>, <4,7,6,4>
-    1637649636U, // <6,4,4,u>: Cost 2 vext3 <4,4,6,6>, <4,4,6,6>
+    1718537526U, // <6,4,4,6>: Cost 2 vuzpl <6,7,4,5>, RHS
+    2852967054U, // <6,4,4,7>: Cost 3 vuzpr <5,6,7,4>, <6,4,5,7>
+    1718537544U, // <6,4,4,u>: Cost 2 vuzpl <6,7,4,5>, RHS
     2566398054U, // <6,4,5,0>: Cost 3 vext1 <2,6,4,5>, LHS
-    3760876805U, // <6,4,5,1>: Cost 4 vext3 <0,4,1,6>, <4,5,1,3>
+    2242579800U, // <6,4,5,1>: Cost 3 vrev <4,6,1,5>
     2566399937U, // <6,4,5,2>: Cost 3 vext1 <2,6,4,5>, <2,6,4,5>
-    2584316418U, // <6,4,5,3>: Cost 3 vext1 <5,6,4,5>, <3,4,5,6>
+    2242727274U, // <6,4,5,3>: Cost 3 vrev <4,6,3,5>
     2566401334U, // <6,4,5,4>: Cost 3 vext1 <2,6,4,5>, RHS
-    2584318028U, // <6,4,5,5>: Cost 3 vext1 <5,6,4,5>, <5,6,4,5>
+    2242874748U, // <6,4,5,5>: Cost 3 vrev <4,6,5,5>
     1612287286U, // <6,4,5,6>: Cost 2 vext3 <0,2,4,6>, RHS
-    2852965686U, // <6,4,5,7>: Cost 3 vuzpr <5,6,7,4>, RHS
+    1779223862U, // <6,4,5,7>: Cost 2 vuzpr <5,6,7,4>, RHS
     1612287304U, // <6,4,5,u>: Cost 2 vext3 <0,2,4,6>, RHS
     1504608358U, // <6,4,6,0>: Cost 2 vext1 <4,6,4,6>, LHS
     2578350838U, // <6,4,6,1>: Cost 3 vext1 <4,6,4,6>, <1,0,3,2>
     2578351720U, // <6,4,6,2>: Cost 3 vext1 <4,6,4,6>, <2,2,2,2>
     2578352278U, // <6,4,6,3>: Cost 3 vext1 <4,6,4,6>, <3,0,1,2>
-    1504611638U, // <6,4,6,4>: Cost 2 vext1 <4,6,4,6>, RHS
-    2578353872U, // <6,4,6,5>: Cost 3 vext1 <4,6,4,6>, <5,1,7,3>
-    2578354682U, // <6,4,6,6>: Cost 3 vext1 <4,6,4,6>, <6,2,7,3>
+    1169067380U, // <6,4,6,4>: Cost 2 vrev <4,6,4,6>
+    1852247350U, // <6,4,6,5>: Cost 2 vzipl <6,6,6,6>, RHS
+    1986465078U, // <6,4,6,6>: Cost 2 vtrnl <6,6,6,6>, RHS
     2578355194U, // <6,4,6,7>: Cost 3 vext1 <4,6,4,6>, <7,0,1,2>
     1504614190U, // <6,4,6,u>: Cost 2 vext1 <4,6,4,6>, LHS
     2572386406U, // <6,4,7,0>: Cost 3 vext1 <3,6,4,7>, LHS
     2572387226U, // <6,4,7,1>: Cost 3 vext1 <3,6,4,7>, <1,2,3,4>
-    3640157902U, // <6,4,7,2>: Cost 4 vext1 <2,6,4,7>, <2,3,4,5>
+    2980495398U, // <6,4,7,2>: Cost 3 vzipr RHS, <0,0,4,2>
     2572389020U, // <6,4,7,3>: Cost 3 vext1 <3,6,4,7>, <3,6,4,7>
-    2572389686U, // <6,4,7,4>: Cost 3 vext1 <3,6,4,7>, RHS
-    2980497102U, // <6,4,7,5>: Cost 3 vzipr RHS, <2,3,4,5>
-    2980495564U, // <6,4,7,6>: Cost 3 vzipr RHS, <0,2,4,6>
-    4054239090U, // <6,4,7,7>: Cost 4 vzipr RHS, <2,5,4,7>
-    2572392238U, // <6,4,7,u>: Cost 3 vext1 <3,6,4,7>, LHS
-    1504608358U, // <6,4,u,0>: Cost 2 vext1 <4,6,4,6>, LHS
+    1906756816U, // <6,4,7,4>: Cost 2 vzipr RHS, <4,4,4,4>
+    1906755278U, // <6,4,7,5>: Cost 2 vzipr RHS, <2,3,4,5>
+    1906753740U, // <6,4,7,6>: Cost 2 vzipr RHS, <0,2,4,6>
+    2980497266U, // <6,4,7,7>: Cost 3 vzipr RHS, <2,5,4,7>
+    1906753742U, // <6,4,7,u>: Cost 2 vzipr RHS, <0,2,4,u>
+    1168788818U, // <6,4,u,0>: Cost 2 vrev <4,6,0,u>
     2629670702U, // <6,4,u,1>: Cost 3 vext2 <2,0,6,4>, LHS
-    2566424516U, // <6,4,u,2>: Cost 3 vext1 <2,6,4,u>, <2,6,4,u>
-    2584340994U, // <6,4,u,3>: Cost 3 vext1 <5,6,4,u>, <3,4,5,6>
-    1640156694U, // <6,4,u,4>: Cost 2 vext3 <4,u,4,6>, <4,u,4,6>
-    2629671066U, // <6,4,u,5>: Cost 3 vext2 <2,0,6,4>, RHS
+    1718540078U, // <6,4,u,2>: Cost 2 vuzpl <6,7,4,5>, LHS
+    1779221149U, // <6,4,u,3>: Cost 2 vuzpr <5,6,7,4>, LHS
+    1906765008U, // <6,4,u,4>: Cost 2 vzipr RHS, <4,4,4,4>
+    1906763470U, // <6,4,u,5>: Cost 2 vzipr RHS, <2,3,4,5>
     1612287529U, // <6,4,u,6>: Cost 2 vext3 <0,2,4,6>, RHS
-    2852965929U, // <6,4,u,7>: Cost 3 vuzpr <5,6,7,4>, RHS
+    1779224105U, // <6,4,u,7>: Cost 2 vuzpr <5,6,7,4>, RHS
     1612287547U, // <6,4,u,u>: Cost 2 vext3 <0,2,4,6>, RHS
-    3708723200U, // <6,5,0,0>: Cost 4 vext2 <2,u,6,5>, <0,0,0,0>
+    3908575232U, // <6,5,0,0>: Cost 4 vuzpr <2,6,4,5>, <0,0,0,0>
     2634981478U, // <6,5,0,1>: Cost 3 vext2 <2,u,6,5>, LHS
-    3694125260U, // <6,5,0,2>: Cost 4 vext2 <0,4,6,5>, <0,2,4,6>
+    2787721318U, // <6,5,0,2>: Cost 3 vuzpl <6,0,5,7>, LHS
     3779087962U, // <6,5,0,3>: Cost 4 vext3 <3,4,5,6>, <5,0,3,2>
-    3760877154U, // <6,5,0,4>: Cost 4 vext3 <0,4,1,6>, <5,0,4,1>
-    4195110916U, // <6,5,0,5>: Cost 4 vtrnr <5,6,7,0>, <5,5,5,5>
-    3696779775U, // <6,5,0,6>: Cost 4 vext2 <0,u,6,5>, <0,6,2,7>
+    2790367436U, // <6,5,0,4>: Cost 3 vuzpl <6,4,5,6>, <0,2,4,6>
+    3121369092U, // <6,5,0,5>: Cost 3 vtrnr <5,6,7,0>, <5,5,5,5>
+    2980440578U, // <6,5,0,6>: Cost 3 vzipr <4,5,6,0>, <3,4,5,6>
     1175212130U, // <6,5,0,7>: Cost 2 vrev <5,6,7,0>
-    1175285867U, // <6,5,0,u>: Cost 2 vrev <5,6,u,0>
-    2248445988U, // <6,5,1,0>: Cost 3 vrev <5,6,0,1>
+    2047626551U, // <6,5,0,u>: Cost 2 vtrnr <5,6,7,0>, RHS
+    2578382950U, // <6,5,1,0>: Cost 3 vext1 <4,6,5,1>, LHS
     3698107237U, // <6,5,1,1>: Cost 4 vext2 <1,1,6,5>, <1,1,6,5>
     3708724118U, // <6,5,1,2>: Cost 4 vext2 <2,u,6,5>, <1,2,3,0>
-    3908575334U, // <6,5,1,3>: Cost 4 vuzpr <2,6,4,5>, LHS
-    3716023376U, // <6,5,1,4>: Cost 4 vext2 <4,1,6,5>, <1,4,5,6>
-    3708724368U, // <6,5,1,5>: Cost 4 vext2 <2,u,6,5>, <1,5,3,7>
-    3767733960U, // <6,5,1,6>: Cost 4 vext3 <1,5,4,6>, <5,1,6,4>
-    2712571600U, // <6,5,1,7>: Cost 3 vext3 <4,6,4,6>, <5,1,7,3>
-    2712571609U, // <6,5,1,u>: Cost 3 vext3 <4,6,4,6>, <5,1,u,3>
+    2834833510U, // <6,5,1,3>: Cost 3 vuzpr <2,6,4,5>, LHS
+    2578386296U, // <6,5,1,4>: Cost 3 vext1 <4,6,5,1>, <4,6,5,1>
+    2578387072U, // <6,5,1,5>: Cost 3 vext1 <4,6,5,1>, <5,7,1,3>
+    2922205282U, // <6,5,1,6>: Cost 3 vzipl <6,1,0,3>, <5,6,7,0>
+    3102944566U, // <6,5,1,7>: Cost 3 vtrnr <2,6,0,1>, RHS
+    3102944567U, // <6,5,1,u>: Cost 3 vtrnr <2,6,0,1>, RHS
     2578391142U, // <6,5,2,0>: Cost 3 vext1 <4,6,5,2>, LHS
-    3704079934U, // <6,5,2,1>: Cost 4 vext2 <2,1,6,5>, <2,1,6,5>
-    3708724840U, // <6,5,2,2>: Cost 4 vext2 <2,u,6,5>, <2,2,2,2>
-    3705407182U, // <6,5,2,3>: Cost 4 vext2 <2,3,6,5>, <2,3,4,5>
-    2578394422U, // <6,5,2,4>: Cost 3 vext1 <4,6,5,2>, RHS
-    3717351272U, // <6,5,2,5>: Cost 4 vext2 <4,3,6,5>, <2,5,3,6>
+    2982448018U, // <6,5,2,1>: Cost 3 vzipr <4,u,6,2>, <4,0,5,1>
+    3896926372U, // <6,5,2,2>: Cost 4 vuzpr <0,6,u,5>, <0,2,0,2>
+    2792368058U, // <6,5,2,3>: Cost 3 vuzpl <6,7,5,7>, <2,6,3,7>
+    2578394489U, // <6,5,2,4>: Cost 3 vext1 <4,6,5,2>, <4,6,5,2>
+    3114897412U, // <6,5,2,5>: Cost 3 vtrnr <4,6,0,2>, <5,5,5,5>
     2634983354U, // <6,5,2,6>: Cost 3 vext2 <2,u,6,5>, <2,6,3,7>
-    3115486518U, // <6,5,2,7>: Cost 3 vtrnr <4,6,u,2>, RHS
-    2634983541U, // <6,5,2,u>: Cost 3 vext2 <2,u,6,5>, <2,u,6,5>
+    2041154870U, // <6,5,2,7>: Cost 2 vtrnr <4,6,0,2>, RHS
+    2041154871U, // <6,5,2,u>: Cost 2 vtrnr <4,6,0,2>, RHS
     3708725398U, // <6,5,3,0>: Cost 4 vext2 <2,u,6,5>, <3,0,1,2>
-    3710052631U, // <6,5,3,1>: Cost 4 vext2 <3,1,6,5>, <3,1,6,5>
+    3908576934U, // <6,5,3,1>: Cost 4 vuzpr <2,6,4,5>, <2,3,0,1>
     3708725606U, // <6,5,3,2>: Cost 4 vext2 <2,u,6,5>, <3,2,6,3>
-    3708725660U, // <6,5,3,3>: Cost 4 vext2 <2,u,6,5>, <3,3,3,3>
+    3908576216U, // <6,5,3,3>: Cost 4 vuzpr <2,6,4,5>, <1,3,1,3>
     2643610114U, // <6,5,3,4>: Cost 3 vext2 <4,3,6,5>, <3,4,5,6>
-    3717352010U, // <6,5,3,5>: Cost 4 vext2 <4,3,6,5>, <3,5,4,6>
-    3773632358U, // <6,5,3,6>: Cost 4 vext3 <2,5,3,6>, <5,3,6,0>
-    2248978533U, // <6,5,3,7>: Cost 3 vrev <5,6,7,3>
-    2249052270U, // <6,5,3,u>: Cost 3 vrev <5,6,u,3>
-    2596323430U, // <6,5,4,0>: Cost 3 vext1 <7,6,5,4>, LHS
-    3716025328U, // <6,5,4,1>: Cost 4 vext2 <4,1,6,5>, <4,1,6,5>
-    3716688961U, // <6,5,4,2>: Cost 4 vext2 <4,2,6,5>, <4,2,6,5>
+    3908503246U, // <6,5,3,5>: Cost 4 vuzpr <2,6,3,5>, <2,3,4,5>
+    2980465154U, // <6,5,3,6>: Cost 3 vzipr <4,5,6,3>, <3,4,5,6>
+    3103034678U, // <6,5,3,7>: Cost 3 vtrnr <2,6,1,3>, RHS
+    3103034679U, // <6,5,3,u>: Cost 3 vtrnr <2,6,1,3>, RHS
+    2789051724U, // <6,5,4,0>: Cost 3 vuzpl <6,2,5,7>, <4,6,0,2>
+    3060715648U, // <6,5,4,1>: Cost 3 vtrnl <6,7,4,5>, <5,7,1,3>
+    3908579977U, // <6,5,4,2>: Cost 4 vuzpr <2,6,4,5>, <6,4,5,2>
     2643610770U, // <6,5,4,3>: Cost 3 vext2 <4,3,6,5>, <4,3,6,5>
-    2596326710U, // <6,5,4,4>: Cost 3 vext1 <7,6,5,4>, RHS
+    2791705972U, // <6,5,4,4>: Cost 3 vuzpl <6,6,5,7>, <4,6,4,6>
     2634984758U, // <6,5,4,5>: Cost 3 vext2 <2,u,6,5>, RHS
-    3767734199U, // <6,5,4,6>: Cost 4 vext3 <1,5,4,6>, <5,4,6,0>
+    2834833756U, // <6,5,4,6>: Cost 3 vuzpr <2,6,4,5>, <0,4,2,6>
     1643696070U, // <6,5,4,7>: Cost 2 vext3 <5,4,7,6>, <5,4,7,6>
     1643769807U, // <6,5,4,u>: Cost 2 vext3 <5,4,u,6>, <5,4,u,6>
     2578415718U, // <6,5,5,0>: Cost 3 vext1 <4,6,5,5>, LHS
-    3652158198U, // <6,5,5,1>: Cost 4 vext1 <4,6,5,5>, <1,0,3,2>
-    3652159080U, // <6,5,5,2>: Cost 4 vext1 <4,6,5,5>, <2,2,2,2>
-    3652159638U, // <6,5,5,3>: Cost 4 vext1 <4,6,5,5>, <3,0,1,2>
-    2578418998U, // <6,5,5,4>: Cost 3 vext1 <4,6,5,5>, RHS
+    3006363382U, // <6,5,5,1>: Cost 3 vzipr <u,u,6,5>, <u,0,5,1>
+    4044273885U, // <6,5,5,2>: Cost 4 vzipr <2,u,6,5>, <u,6,5,2>
+    3908580023U, // <6,5,5,3>: Cost 4 vuzpr <2,6,4,5>, <6,5,1,3>
+    2578419068U, // <6,5,5,4>: Cost 3 vext1 <4,6,5,5>, <4,6,5,5>
     2712571908U, // <6,5,5,5>: Cost 3 vext3 <4,6,4,6>, <5,5,5,5>
-    2718027790U, // <6,5,5,6>: Cost 3 vext3 <5,5,6,6>, <5,5,6,6>
-    2712571928U, // <6,5,5,7>: Cost 3 vext3 <4,6,4,6>, <5,5,7,7>
-    2712571937U, // <6,5,5,u>: Cost 3 vext3 <4,6,4,6>, <5,5,u,7>
+    2979154434U, // <6,5,5,6>: Cost 3 vzipr <4,3,6,5>, <3,4,5,6>
+    2834836790U, // <6,5,5,7>: Cost 3 vuzpr <2,6,4,5>, RHS
+    2834836791U, // <6,5,5,u>: Cost 3 vuzpr <2,6,4,5>, RHS
     2705346596U, // <6,5,6,0>: Cost 3 vext3 <3,4,5,6>, <5,6,0,1>
-    3767144496U, // <6,5,6,1>: Cost 4 vext3 <1,4,5,6>, <5,6,1,4>
+    2982480786U, // <6,5,6,1>: Cost 3 vzipr <4,u,6,6>, <4,0,5,1>
     3773116473U, // <6,5,6,2>: Cost 4 vext3 <2,4,5,6>, <5,6,2,4>
     2705346626U, // <6,5,6,3>: Cost 3 vext3 <3,4,5,6>, <5,6,3,4>
     2705346636U, // <6,5,6,4>: Cost 3 vext3 <3,4,5,6>, <5,6,4,5>
-    3908577217U, // <6,5,6,5>: Cost 4 vuzpr <2,6,4,5>, <2,6,4,5>
+    2834835393U, // <6,5,6,5>: Cost 3 vuzpr <2,6,4,5>, <2,6,4,5>
     2578428728U, // <6,5,6,6>: Cost 3 vext1 <4,6,5,6>, <6,6,6,6>
-    2712572002U, // <6,5,6,7>: Cost 3 vext3 <4,6,4,6>, <5,6,7,0>
-    2705346668U, // <6,5,6,u>: Cost 3 vext3 <3,4,5,6>, <5,6,u,1>
+    2041482550U, // <6,5,6,7>: Cost 2 vtrnr <4,6,4,6>, RHS
+    2041482551U, // <6,5,6,u>: Cost 2 vtrnr <4,6,4,6>, RHS
     2560516198U, // <6,5,7,0>: Cost 3 vext1 <1,6,5,7>, LHS
-    2560517363U, // <6,5,7,1>: Cost 3 vext1 <1,6,5,7>, <1,6,5,7>
+    1906756498U, // <6,5,7,1>: Cost 2 vzipr RHS, <4,0,5,1>
     2566490060U, // <6,5,7,2>: Cost 3 vext1 <2,6,5,7>, <2,6,5,7>
-    3634260118U, // <6,5,7,3>: Cost 4 vext1 <1,6,5,7>, <3,0,1,2>
+    2980496299U, // <6,5,7,3>: Cost 3 vzipr RHS, <1,2,5,3>
     2560519478U, // <6,5,7,4>: Cost 3 vext1 <1,6,5,7>, RHS
-    2980498650U, // <6,5,7,5>: Cost 3 vzipr RHS, <4,4,5,5>
-    2980497922U, // <6,5,7,6>: Cost 3 vzipr RHS, <3,4,5,6>
-    3103214902U, // <6,5,7,7>: Cost 3 vtrnr <2,6,3,7>, RHS
-    2560522030U, // <6,5,7,u>: Cost 3 vext1 <1,6,5,7>, LHS
+    1906756826U, // <6,5,7,5>: Cost 2 vzipr RHS, <4,4,5,5>
+    1906756098U, // <6,5,7,6>: Cost 2 vzipr RHS, <3,4,5,6>
+    2029473078U, // <6,5,7,7>: Cost 2 vtrnr <2,6,3,7>, RHS
+    2029473079U, // <6,5,7,u>: Cost 2 vtrnr <2,6,3,7>, RHS
     2560524390U, // <6,5,u,0>: Cost 3 vext1 <1,6,5,u>, LHS
-    2560525556U, // <6,5,u,1>: Cost 3 vext1 <1,6,5,u>, <1,6,5,u>
+    1906764690U, // <6,5,u,1>: Cost 2 vzipr RHS, <4,0,5,1>
     2566498253U, // <6,5,u,2>: Cost 3 vext1 <2,6,5,u>, <2,6,5,u>
-    2646931439U, // <6,5,u,3>: Cost 3 vext2 <4,u,6,5>, <u,3,5,7>
+    2834834077U, // <6,5,u,3>: Cost 3 vuzpr <2,6,4,5>, LHS
     2560527670U, // <6,5,u,4>: Cost 3 vext1 <1,6,5,u>, RHS
-    2634987674U, // <6,5,u,5>: Cost 3 vext2 <2,u,6,5>, RHS
-    2980506114U, // <6,5,u,6>: Cost 3 vzipr RHS, <3,4,5,6>
-    1175277674U, // <6,5,u,7>: Cost 2 vrev <5,6,7,u>
-    1175351411U, // <6,5,u,u>: Cost 2 vrev <5,6,u,u>
-    2578448486U, // <6,6,0,0>: Cost 3 vext1 <4,6,6,0>, LHS
+    1906765018U, // <6,5,u,5>: Cost 2 vzipr RHS, <4,4,5,5>
+    1906764290U, // <6,5,u,6>: Cost 2 vzipr RHS, <3,4,5,6>
+    2029481270U, // <6,5,u,7>: Cost 2 vtrnr <2,6,3,u>, RHS
+    2029481271U, // <6,5,u,u>: Cost 2 vtrnr <2,6,3,u>, RHS
+    2047627362U, // <6,6,0,0>: Cost 2 vtrnr <5,6,7,0>, <5,6,7,0>
     1573191782U, // <6,6,0,1>: Cost 2 vext2 <4,u,6,6>, LHS
-    2686030124U, // <6,6,0,2>: Cost 3 vext3 <0,2,4,6>, <6,0,2,4>
-    3779088690U, // <6,6,0,3>: Cost 4 vext3 <3,4,5,6>, <6,0,3,1>
+    1718026342U, // <6,6,0,2>: Cost 2 vuzpl <6,6,6,6>, LHS
+    4041573948U, // <6,6,0,3>: Cost 4 vzipr <2,4,6,0>, <2,1,6,3>
     2687209788U, // <6,6,0,4>: Cost 3 vext3 <0,4,2,6>, <6,0,4,2>
-    3652194000U, // <6,6,0,5>: Cost 4 vext1 <4,6,6,0>, <5,1,7,3>
-    2254852914U, // <6,6,0,6>: Cost 3 vrev <6,6,6,0>
-    4041575734U, // <6,6,0,7>: Cost 4 vzipr <2,4,6,0>, RHS
+    4054183058U, // <6,6,0,5>: Cost 4 vzipr <4,5,6,0>, <4,3,6,5>
+    2578453326U, // <6,6,0,6>: Cost 3 vext1 <4,6,6,0>, <6,7,0,1>
+    2967833910U, // <6,6,0,7>: Cost 3 vzipr <2,4,6,0>, RHS
     1573192349U, // <6,6,0,u>: Cost 2 vext2 <4,u,6,6>, LHS
     2646934262U, // <6,6,1,0>: Cost 3 vext2 <4,u,6,6>, <1,0,3,2>
-    2646934324U, // <6,6,1,1>: Cost 3 vext2 <4,u,6,6>, <1,1,1,1>
+    3102943129U, // <6,6,1,1>: Cost 3 vtrnr <2,6,0,1>, <2,6,0,1>
     2646934422U, // <6,6,1,2>: Cost 3 vext2 <4,u,6,6>, <1,2,3,0>
-    2846785638U, // <6,6,1,3>: Cost 3 vuzpr <4,6,4,6>, LHS
+    1773043814U, // <6,6,1,3>: Cost 2 vuzpr <4,6,4,6>, LHS
     3760951694U, // <6,6,1,4>: Cost 4 vext3 <0,4,2,6>, <6,1,4,3>
     2646934672U, // <6,6,1,5>: Cost 3 vext2 <4,u,6,6>, <1,5,3,7>
-    2712572320U, // <6,6,1,6>: Cost 3 vext3 <4,6,4,6>, <6,1,6,3>
-    3775549865U, // <6,6,1,7>: Cost 4 vext3 <2,u,2,6>, <6,1,7,3>
-    2846785643U, // <6,6,1,u>: Cost 3 vuzpr <4,6,4,6>, LHS
-    3759772094U, // <6,6,2,0>: Cost 4 vext3 <0,2,4,6>, <6,2,0,6>
+    2994385720U, // <6,6,1,6>: Cost 3 vzipr <6,u,6,1>, <6,6,6,6>
+    2970496310U, // <6,6,1,7>: Cost 3 vzipr <2,u,6,1>, RHS
+    1773043819U, // <6,6,1,u>: Cost 2 vuzpr <4,6,4,6>, LHS
+    3114896750U, // <6,6,2,0>: Cost 3 vtrnr <4,6,0,2>, <4,6,4,0>
     3704751676U, // <6,6,2,1>: Cost 4 vext2 <2,2,6,6>, <2,1,6,3>
-    2631009936U, // <6,6,2,2>: Cost 3 vext2 <2,2,6,6>, <2,2,6,6>
-    2646935206U, // <6,6,2,3>: Cost 3 vext2 <4,u,6,6>, <2,3,0,1>
-    3759772127U, // <6,6,2,4>: Cost 4 vext3 <0,2,4,6>, <6,2,4,3>
+    2041154892U, // <6,6,2,2>: Cost 2 vtrnr <4,6,0,2>, <4,6,0,2>
+    2846787186U, // <6,6,2,3>: Cost 3 vuzpr <4,6,4,6>, <2,2,3,3>
+    3114897510U, // <6,6,2,4>: Cost 3 vtrnr <4,6,0,2>, <5,6,7,4>
     3704752004U, // <6,6,2,5>: Cost 4 vext2 <2,2,6,6>, <2,5,6,7>
-    2646935482U, // <6,6,2,6>: Cost 3 vext2 <4,u,6,6>, <2,6,3,7>
-    2712572410U, // <6,6,2,7>: Cost 3 vext3 <4,6,4,6>, <6,2,7,3>
-    2712572419U, // <6,6,2,u>: Cost 3 vext3 <4,6,4,6>, <6,2,u,3>
+    2834694348U, // <6,6,2,6>: Cost 3 vuzpr <2,6,2,6>, <0,2,4,6>
+    1908706614U, // <6,6,2,7>: Cost 2 vzipr <4,u,6,2>, RHS
+    1908706615U, // <6,6,2,u>: Cost 2 vzipr <4,u,6,2>, RHS
     2646935702U, // <6,6,3,0>: Cost 3 vext2 <4,u,6,6>, <3,0,1,2>
-    3777024534U, // <6,6,3,1>: Cost 4 vext3 <3,1,4,6>, <6,3,1,4>
-    3704752453U, // <6,6,3,2>: Cost 4 vext2 <2,2,6,6>, <3,2,2,6>
-    2646935964U, // <6,6,3,3>: Cost 3 vext2 <4,u,6,6>, <3,3,3,3>
+    2846787238U, // <6,6,3,1>: Cost 3 vuzpr <4,6,4,6>, <2,3,0,1>
+    4040272796U, // <6,6,3,2>: Cost 4 vzipr <2,2,6,3>, <4,0,6,2>
+    2965866044U, // <6,6,3,3>: Cost 3 vzipr <2,1,6,3>, <2,1,6,3>
     2705347122U, // <6,6,3,4>: Cost 3 vext3 <3,4,5,6>, <6,3,4,5>
-    3779678778U, // <6,6,3,5>: Cost 4 vext3 <3,5,4,6>, <6,3,5,4>
-    2657553069U, // <6,6,3,6>: Cost 3 vext2 <6,6,6,6>, <3,6,6,6>
-    4039609654U, // <6,6,3,7>: Cost 4 vzipr <2,1,6,3>, RHS
-    2708001366U, // <6,6,3,u>: Cost 3 vext3 <3,u,5,6>, <6,3,u,5>
-    2578481254U, // <6,6,4,0>: Cost 3 vext1 <4,6,6,4>, LHS
-    3652223734U, // <6,6,4,1>: Cost 4 vext1 <4,6,6,4>, <1,0,3,2>
-    3760951922U, // <6,6,4,2>: Cost 4 vext3 <0,4,2,6>, <6,4,2,6>
-    3779089019U, // <6,6,4,3>: Cost 4 vext3 <3,4,5,6>, <6,4,3,6>
-    1570540772U, // <6,6,4,4>: Cost 2 vext2 <4,4,6,6>, <4,4,6,6>
+    2846787278U, // <6,6,3,5>: Cost 3 vuzpr <4,6,4,6>, <2,3,4,5>
+    2990419496U, // <6,6,3,6>: Cost 3 vzipr <6,2,6,3>, <4,u,6,6>
+    2965867830U, // <6,6,3,7>: Cost 3 vzipr <2,1,6,3>, RHS
+    2965867831U, // <6,6,3,u>: Cost 3 vzipr <2,1,6,3>, RHS
+    2846790288U, // <6,6,4,0>: Cost 3 vuzpr <4,6,4,6>, <6,4,6,0>
+    4176709529U, // <6,6,4,1>: Cost 4 vtrnr <2,6,0,4>, <2,6,0,1>
+    2846788778U, // <6,6,4,2>: Cost 3 vuzpr <4,6,4,6>, <4,4,0,2>
+    4038952508U, // <6,6,4,3>: Cost 4 vzipr <2,0,6,4>, <2,1,6,3>
+    2047660134U, // <6,6,4,4>: Cost 2 vtrnr <5,6,7,4>, <5,6,7,4>
     1573195062U, // <6,6,4,5>: Cost 2 vext2 <4,u,6,6>, RHS
-    2712572560U, // <6,6,4,6>: Cost 3 vext3 <4,6,4,6>, <6,4,6,0>
-    2723410591U, // <6,6,4,7>: Cost 3 vext3 <6,4,7,6>, <6,4,7,6>
+    1718029622U, // <6,6,4,6>: Cost 2 vuzpl <6,6,6,6>, RHS
+    2965212470U, // <6,6,4,7>: Cost 3 vzipr <2,0,6,4>, RHS
     1573195304U, // <6,6,4,u>: Cost 2 vext2 <4,u,6,6>, <4,u,6,6>
     3640287334U, // <6,6,5,0>: Cost 4 vext1 <2,6,6,5>, LHS
     2646937296U, // <6,6,5,1>: Cost 3 vext2 <4,u,6,6>, <5,1,7,3>
     3640289235U, // <6,6,5,2>: Cost 4 vext1 <2,6,6,5>, <2,6,6,5>
-    3720679279U, // <6,6,5,3>: Cost 4 vext2 <4,u,6,6>, <5,3,7,0>
+    4177014102U, // <6,6,5,3>: Cost 4 vtrnr <2,6,4,5>, <4,6,1,3>
     2646937542U, // <6,6,5,4>: Cost 3 vext2 <4,u,6,6>, <5,4,7,6>
-    2646937604U, // <6,6,5,5>: Cost 3 vext2 <4,u,6,6>, <5,5,5,5>
+    3103270849U, // <6,6,5,5>: Cost 3 vtrnr <2,6,4,5>, <2,6,4,5>
     2646937698U, // <6,6,5,6>: Cost 3 vext2 <4,u,6,6>, <5,6,7,0>
-    2846788918U, // <6,6,5,7>: Cost 3 vuzpr <4,6,4,6>, RHS
-    2846788919U, // <6,6,5,u>: Cost 3 vuzpr <4,6,4,6>, RHS
+    1773047094U, // <6,6,5,7>: Cost 2 vuzpr <4,6,4,6>, RHS
+    1773047095U, // <6,6,5,u>: Cost 2 vuzpr <4,6,4,6>, RHS
     1516699750U, // <6,6,6,0>: Cost 2 vext1 <6,6,6,6>, LHS
     2590442230U, // <6,6,6,1>: Cost 3 vext1 <6,6,6,6>, <1,0,3,2>
-    2646938106U, // <6,6,6,2>: Cost 3 vext2 <4,u,6,6>, <6,2,7,3>
-    2590443670U, // <6,6,6,3>: Cost 3 vext1 <6,6,6,6>, <3,0,1,2>
+    2846788940U, // <6,6,6,2>: Cost 3 vuzpr <4,6,4,6>, <4,6,0,2>
+    2846790408U, // <6,6,6,3>: Cost 3 vuzpr <4,6,4,6>, <6,6,1,3>
     1516703030U, // <6,6,6,4>: Cost 2 vext1 <6,6,6,6>, RHS
     2590445264U, // <6,6,6,5>: Cost 3 vext1 <6,6,6,6>, <5,1,7,3>
     296144182U,  // <6,6,6,6>: Cost 1 vdup2 RHS
-    2712572738U, // <6,6,6,7>: Cost 3 vext3 <4,6,4,6>, <6,6,7,7>
+    1908739382U, // <6,6,6,7>: Cost 2 vzipr <4,u,6,6>, RHS
     296144182U,  // <6,6,6,u>: Cost 1 vdup2 RHS
     2566561894U, // <6,6,7,0>: Cost 3 vext1 <2,6,6,7>, LHS
-    3634332924U, // <6,6,7,1>: Cost 4 vext1 <1,6,6,7>, <1,6,6,7>
-    2566563797U, // <6,6,7,2>: Cost 3 vext1 <2,6,6,7>, <2,6,6,7>
-    2584480258U, // <6,6,7,3>: Cost 3 vext1 <5,6,6,7>, <3,4,5,6>
+    2980496873U, // <6,6,7,1>: Cost 3 vzipr RHS, <2,0,6,1>
+    1908747164U, // <6,6,7,2>: Cost 2 vzipr RHS, <4,0,6,2>
+    2980496956U, // <6,6,7,3>: Cost 3 vzipr RHS, <2,1,6,3>
     2566565174U, // <6,6,7,4>: Cost 3 vext1 <2,6,6,7>, RHS
-    2717438846U, // <6,6,7,5>: Cost 3 vext3 <5,4,7,6>, <6,7,5,4>
-    2980500280U, // <6,6,7,6>: Cost 3 vzipr RHS, <6,6,6,6>
-    1906756918U, // <6,6,7,7>: Cost 2 vzipr RHS, RHS
-    1906756919U, // <6,6,7,u>: Cost 2 vzipr RHS, RHS
-    1516699750U, // <6,6,u,0>: Cost 2 vext1 <6,6,6,6>, LHS
+    2980497201U, // <6,6,7,5>: Cost 3 vzipr RHS, <2,4,6,5>
+    1906758456U, // <6,6,7,6>: Cost 2 vzipr RHS, <6,6,6,6>
+    833015094U,  // <6,6,7,7>: Cost 1 vzipr RHS, RHS
+    833015095U,  // <6,6,7,u>: Cost 1 vzipr RHS, RHS
+    2047627362U, // <6,6,u,0>: Cost 2 vtrnr <5,6,7,0>, <5,6,7,0>
     1573197614U, // <6,6,u,1>: Cost 2 vext2 <4,u,6,6>, LHS
-    2566571990U, // <6,6,u,2>: Cost 3 vext1 <2,6,6,u>, <2,6,6,u>
-    2846786205U, // <6,6,u,3>: Cost 3 vuzpr <4,6,4,6>, LHS
-    1516703030U, // <6,6,u,4>: Cost 2 vext1 <6,6,6,6>, RHS
+    1906764700U, // <6,6,u,2>: Cost 2 vzipr RHS, <4,0,6,2>
+    1773044381U, // <6,6,u,3>: Cost 2 vuzpr <4,6,4,6>, LHS
+    2047660134U, // <6,6,u,4>: Cost 2 vtrnr <5,6,7,4>, <5,6,7,4>
     1573197978U, // <6,6,u,5>: Cost 2 vext2 <4,u,6,6>, RHS
     296144182U,  // <6,6,u,6>: Cost 1 vdup2 RHS
-    1906765110U, // <6,6,u,7>: Cost 2 vzipr RHS, RHS
-    296144182U,  // <6,6,u,u>: Cost 1 vdup2 RHS
+    833023286U,  // <6,6,u,7>: Cost 1 vzipr RHS, RHS
+    833023287U,  // <6,6,u,u>: Cost 1 vzipr RHS, RHS
     1571209216U, // <6,7,0,0>: Cost 2 vext2 RHS, <0,0,0,0>
     497467494U,  // <6,7,0,1>: Cost 1 vext2 RHS, LHS
     1571209380U, // <6,7,0,2>: Cost 2 vext2 RHS, <0,2,0,2>
@@ -4976,29 +4974,29 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1571209974U, // <6,7,1,0>: Cost 2 vext2 RHS, <1,0,3,2>
     1571210036U, // <6,7,1,1>: Cost 2 vext2 RHS, <1,1,1,1>
     1571210134U, // <6,7,1,2>: Cost 2 vext2 RHS, <1,2,3,0>
-    1571210200U, // <6,7,1,3>: Cost 2 vext2 RHS, <1,3,1,3>
+    1761034342U, // <6,7,1,3>: Cost 2 vuzpr <2,6,3,7>, LHS
     2644952098U, // <6,7,1,4>: Cost 3 vext2 RHS, <1,4,0,5>
     1571210384U, // <6,7,1,5>: Cost 2 vext2 RHS, <1,5,3,7>
     2644952271U, // <6,7,1,6>: Cost 3 vext2 RHS, <1,6,1,7>
     2578535418U, // <6,7,1,7>: Cost 3 vext1 <4,6,7,1>, <7,0,1,2>
-    1571210605U, // <6,7,1,u>: Cost 2 vext2 RHS, <1,u,1,3>
-    2644952509U, // <6,7,2,0>: Cost 3 vext2 RHS, <2,0,1,2>
+    1761034347U, // <6,7,1,u>: Cost 2 vuzpr <2,6,3,7>, LHS
+    2834776982U, // <6,7,2,0>: Cost 3 vuzpr <2,6,3,7>, <1,2,3,0>
     2644952582U, // <6,7,2,1>: Cost 3 vext2 RHS, <2,1,0,3>
     1571210856U, // <6,7,2,2>: Cost 2 vext2 RHS, <2,2,2,2>
     1571210918U, // <6,7,2,3>: Cost 2 vext2 RHS, <2,3,0,1>
-    2644952828U, // <6,7,2,4>: Cost 3 vext2 RHS, <2,4,0,6>
+    2834776986U, // <6,7,2,4>: Cost 3 vuzpr <2,6,3,7>, <1,2,3,4>
     2633009028U, // <6,7,2,5>: Cost 3 vext2 <2,5,6,7>, <2,5,6,7>
     1571211194U, // <6,7,2,6>: Cost 2 vext2 RHS, <2,6,3,7>
-    2668840938U, // <6,7,2,7>: Cost 3 vext2 RHS, <2,7,0,1>
+    3114897576U, // <6,7,2,7>: Cost 3 vtrnr <4,6,0,2>, <5,7,5,7>
     1571211323U, // <6,7,2,u>: Cost 2 vext2 RHS, <2,u,0,1>
     1571211414U, // <6,7,3,0>: Cost 2 vext2 RHS, <3,0,1,2>
-    2644953311U, // <6,7,3,1>: Cost 3 vext2 RHS, <3,1,0,3>
-    2644953390U, // <6,7,3,2>: Cost 3 vext2 RHS, <3,2,0,1>
+    2834777766U, // <6,7,3,1>: Cost 3 vuzpr <2,6,3,7>, <2,3,0,1>
+    2834780746U, // <6,7,3,2>: Cost 3 vuzpr <2,6,3,7>, <6,3,7,2>
     1571211676U, // <6,7,3,3>: Cost 2 vext2 RHS, <3,3,3,3>
     1571211778U, // <6,7,3,4>: Cost 2 vext2 RHS, <3,4,5,6>
-    2644953648U, // <6,7,3,5>: Cost 3 vext2 RHS, <3,5,1,7>
-    2644953720U, // <6,7,3,6>: Cost 3 vext2 RHS, <3,6,0,7>
-    2644953795U, // <6,7,3,7>: Cost 3 vext2 RHS, <3,7,0,1>
+    2834777806U, // <6,7,3,5>: Cost 3 vuzpr <2,6,3,7>, <2,3,4,5>
+    2834777789U, // <6,7,3,6>: Cost 3 vuzpr <2,6,3,7>, <2,3,2,6>
+    2834777088U, // <6,7,3,7>: Cost 3 vuzpr <2,6,3,7>, <1,3,5,7>
     1571212062U, // <6,7,3,u>: Cost 2 vext2 RHS, <3,u,1,2>
     1573202834U, // <6,7,4,0>: Cost 2 vext2 RHS, <4,0,5,1>
     2644954058U, // <6,7,4,1>: Cost 3 vext2 RHS, <4,1,2,3>
@@ -5006,7 +5004,7 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2644954258U, // <6,7,4,3>: Cost 3 vext2 RHS, <4,3,6,5>
     1571212496U, // <6,7,4,4>: Cost 2 vext2 RHS, <4,4,4,4>
     497470774U,  // <6,7,4,5>: Cost 1 vext2 RHS, RHS
-    1573203316U, // <6,7,4,6>: Cost 2 vext2 RHS, <4,6,4,6>
+    1573203276U, // <6,7,4,6>: Cost 2 vext2 RHS, <4,6,0,2>
     2646281688U, // <6,7,4,7>: Cost 3 vext2 <4,7,6,7>, <4,7,6,7>
     497471017U,  // <6,7,4,u>: Cost 1 vext2 RHS, RHS
     2644954696U, // <6,7,5,0>: Cost 3 vext2 RHS, <5,0,1,2>
@@ -5016,8 +5014,8 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1571213254U, // <6,7,5,4>: Cost 2 vext2 RHS, <5,4,7,6>
     1571213316U, // <6,7,5,5>: Cost 2 vext2 RHS, <5,5,5,5>
     1571213410U, // <6,7,5,6>: Cost 2 vext2 RHS, <5,6,7,0>
-    1573204136U, // <6,7,5,7>: Cost 2 vext2 RHS, <5,7,5,7>
-    1573204217U, // <6,7,5,u>: Cost 2 vext2 RHS, <5,u,5,7>
+    1761037622U, // <6,7,5,7>: Cost 2 vuzpr <2,6,3,7>, RHS
+    1761037623U, // <6,7,5,u>: Cost 2 vuzpr <2,6,3,7>, RHS
     2644955425U, // <6,7,6,0>: Cost 3 vext2 RHS, <6,0,1,2>
     2644955561U, // <6,7,6,1>: Cost 3 vext2 RHS, <6,1,7,3>
     1573204474U, // <6,7,6,2>: Cost 2 vext2 RHS, <6,2,7,3>
@@ -5025,70 +5023,70 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2644955789U, // <6,7,6,4>: Cost 3 vext2 RHS, <6,4,5,6>
     2644955889U, // <6,7,6,5>: Cost 3 vext2 RHS, <6,5,7,7>
     1571214136U, // <6,7,6,6>: Cost 2 vext2 RHS, <6,6,6,6>
-    1571214158U, // <6,7,6,7>: Cost 2 vext2 RHS, <6,7,0,1>
+    1761036218U, // <6,7,6,7>: Cost 2 vuzpr <2,6,3,7>, <2,6,3,7>
     1573204895U, // <6,7,6,u>: Cost 2 vext2 RHS, <6,u,0,1>
-    1573204986U, // <6,7,7,0>: Cost 2 vext2 RHS, <7,0,1,2>
+    1906757730U, // <6,7,7,0>: Cost 2 vzipr RHS, <5,6,7,0>
     2572608656U, // <6,7,7,1>: Cost 3 vext1 <3,6,7,7>, <1,5,3,7>
     2644956362U, // <6,7,7,2>: Cost 3 vext2 RHS, <7,2,6,3>
-    2572610231U, // <6,7,7,3>: Cost 3 vext1 <3,6,7,7>, <3,6,7,7>
-    1573205350U, // <6,7,7,4>: Cost 2 vext2 RHS, <7,4,5,6>
-    2646947220U, // <6,7,7,5>: Cost 3 vext2 RHS, <7,5,1,7>
-    1516786498U, // <6,7,7,6>: Cost 2 vext1 <6,6,7,7>, <6,6,7,7>
+    1906758138U, // <6,7,7,3>: Cost 2 vzipr RHS, <6,2,7,3>
+    1906757734U, // <6,7,7,4>: Cost 2 vzipr RHS, <5,6,7,4>
+    2980497696U, // <6,7,7,5>: Cost 3 vzipr RHS, <3,1,7,5>
+    1906757574U, // <6,7,7,6>: Cost 2 vzipr RHS, <5,4,7,6>
     1571214956U, // <6,7,7,7>: Cost 2 vext2 RHS, <7,7,7,7>
-    1573205634U, // <6,7,7,u>: Cost 2 vext2 RHS, <7,u,1,2>
+    1906757738U, // <6,7,7,u>: Cost 2 vzipr RHS, <5,6,7,u>
     1571215059U, // <6,7,u,0>: Cost 2 vext2 RHS, <u,0,1,2>
     497473326U,  // <6,7,u,1>: Cost 1 vext2 RHS, LHS
     1571215237U, // <6,7,u,2>: Cost 2 vext2 RHS, <u,2,3,0>
-    1571215292U, // <6,7,u,3>: Cost 2 vext2 RHS, <u,3,0,1>
+    1761034909U, // <6,7,u,3>: Cost 2 vuzpr <2,6,3,7>, LHS
     1571215423U, // <6,7,u,4>: Cost 2 vext2 RHS, <u,4,5,6>
     497473690U,  // <6,7,u,5>: Cost 1 vext2 RHS, RHS
     1571215568U, // <6,7,u,6>: Cost 2 vext2 RHS, <u,6,3,7>
-    1573206272U, // <6,7,u,7>: Cost 2 vext2 RHS, <u,7,0,1>
+    1761037865U, // <6,7,u,7>: Cost 2 vuzpr <2,6,3,7>, RHS
     497473893U,  // <6,7,u,u>: Cost 1 vext2 RHS, LHS
     1571217408U, // <6,u,0,0>: Cost 2 vext2 RHS, <0,0,0,0>
     497475686U,  // <6,u,0,1>: Cost 1 vext2 RHS, LHS
     1571217572U, // <6,u,0,2>: Cost 2 vext2 RHS, <0,2,0,2>
-    2689865445U, // <6,u,0,3>: Cost 3 vext3 <0,u,2,6>, <u,0,3,2>
+    2047623837U, // <6,u,0,3>: Cost 2 vtrnr <5,6,7,0>, LHS
     1571217746U, // <6,u,0,4>: Cost 2 vext2 RHS, <0,4,1,5>
     1510830187U, // <6,u,0,5>: Cost 2 vext1 <5,6,u,0>, <5,6,u,0>
-    2644959734U, // <6,u,0,6>: Cost 3 vext2 RHS, <0,6,1,7>
-    1193130221U, // <6,u,0,7>: Cost 2 vrev <u,6,7,0>
+    1986648218U, // <6,u,0,6>: Cost 2 vtrnl <6,7,0,1>, RHS
+    2047626793U, // <6,u,0,7>: Cost 2 vtrnr <5,6,7,0>, RHS
     497476253U,  // <6,u,0,u>: Cost 1 vext2 RHS, LHS
     1571218166U, // <6,u,1,0>: Cost 2 vext2 RHS, <1,0,3,2>
     1571218228U, // <6,u,1,1>: Cost 2 vext2 RHS, <1,1,1,1>
     1612289838U, // <6,u,1,2>: Cost 2 vext3 <0,2,4,6>, LHS
-    1571218392U, // <6,u,1,3>: Cost 2 vext2 RHS, <1,3,1,3>
+    1761042534U, // <6,u,1,3>: Cost 2 vuzpr <2,6,3,u>, LHS
     2566663478U, // <6,u,1,4>: Cost 3 vext1 <2,6,u,1>, RHS
     1571218576U, // <6,u,1,5>: Cost 2 vext2 RHS, <1,5,3,7>
     2644960463U, // <6,u,1,6>: Cost 3 vext2 RHS, <1,6,1,7>
-    2717439835U, // <6,u,1,7>: Cost 3 vext3 <5,4,7,6>, <u,1,7,3>
+    3102944809U, // <6,u,1,7>: Cost 3 vtrnr <2,6,0,1>, RHS
     1612289892U, // <6,u,1,u>: Cost 2 vext3 <0,2,4,6>, LHS
     1504870502U, // <6,u,2,0>: Cost 2 vext1 <4,6,u,2>, LHS
-    2644960774U, // <6,u,2,1>: Cost 3 vext2 RHS, <2,1,0,3>
+    1849644846U, // <6,u,2,1>: Cost 2 vzipl <6,2,7,3>, LHS
     1571219048U, // <6,u,2,2>: Cost 2 vext2 RHS, <2,2,2,2>
     1571219110U, // <6,u,2,3>: Cost 2 vext2 RHS, <2,3,0,1>
-    1504873782U, // <6,u,2,4>: Cost 2 vext1 <4,6,u,2>, RHS
-    2633017221U, // <6,u,2,5>: Cost 3 vext2 <2,5,6,u>, <2,5,6,u>
+    1504873876U, // <6,u,2,4>: Cost 2 vext1 <4,6,u,2>, <4,6,u,2>
+    1849645210U, // <6,u,2,5>: Cost 2 vzipl <6,2,7,3>, RHS
     1571219386U, // <6,u,2,6>: Cost 2 vext2 RHS, <2,6,3,7>
-    2712573868U, // <6,u,2,7>: Cost 3 vext3 <4,6,4,6>, <u,2,7,3>
+    2041155113U, // <6,u,2,7>: Cost 2 vtrnr <4,6,0,2>, RHS
     1571219515U, // <6,u,2,u>: Cost 2 vext2 RHS, <2,u,0,1>
     1571219606U, // <6,u,3,0>: Cost 2 vext2 RHS, <3,0,1,2>
-    2644961503U, // <6,u,3,1>: Cost 3 vext2 RHS, <3,1,0,3>
-    2566678499U, // <6,u,3,2>: Cost 3 vext1 <2,6,u,3>, <2,6,u,3>
+    2689865671U, // <6,u,3,1>: Cost 3 vext3 <0,u,2,6>, <u,3,1,3>
+    2834788947U, // <6,u,3,2>: Cost 3 vuzpr <2,6,3,u>, <6,3,u,2>
     1571219868U, // <6,u,3,3>: Cost 2 vext2 RHS, <3,3,3,3>
     1571219970U, // <6,u,3,4>: Cost 2 vext2 RHS, <3,4,5,6>
     2689865711U, // <6,u,3,5>: Cost 3 vext3 <0,u,2,6>, <u,3,5,7>
     2708002806U, // <6,u,3,6>: Cost 3 vext3 <3,u,5,6>, <u,3,6,5>
-    2644961987U, // <6,u,3,7>: Cost 3 vext2 RHS, <3,7,0,1>
+    2965867848U, // <6,u,3,7>: Cost 3 vzipr <2,1,6,3>, RHS
     1571220254U, // <6,u,3,u>: Cost 2 vext2 RHS, <3,u,1,2>
     1571220370U, // <6,u,4,0>: Cost 2 vext2 RHS, <4,0,5,1>
-    2644962250U, // <6,u,4,1>: Cost 3 vext2 RHS, <4,1,2,3>
-    1661245476U, // <6,u,4,2>: Cost 2 vext3 <u,4,2,6>, <u,4,2,6>
-    2686031917U, // <6,u,4,3>: Cost 3 vext3 <0,2,4,6>, <u,4,3,6>
+    2642308083U, // <6,u,4,1>: Cost 3 vext2 <4,1,6,u>, <4,1,6,u>
+    1986975534U, // <6,u,4,2>: Cost 2 vtrnl <6,7,4,5>, LHS
+    2047656605U, // <6,u,4,3>: Cost 2 vtrnr <5,6,7,4>, LHS
     1571220688U, // <6,u,4,4>: Cost 2 vext2 RHS, <4,4,4,4>
     497478967U,  // <6,u,4,5>: Cost 1 vext2 RHS, RHS
-    1571220852U, // <6,u,4,6>: Cost 2 vext2 RHS, <4,6,4,6>
-    1661614161U, // <6,u,4,7>: Cost 2 vext3 <u,4,7,6>, <u,4,7,6>
+    1571220812U, // <6,u,4,6>: Cost 2 vext2 RHS, <4,6,0,2>
+    2047659561U, // <6,u,4,7>: Cost 2 vtrnr <5,6,7,4>, RHS
     497479209U,  // <6,u,4,u>: Cost 1 vext2 RHS, RHS
     2566692966U, // <6,u,5,0>: Cost 3 vext1 <2,6,u,5>, LHS
     1571221200U, // <6,u,5,1>: Cost 2 vext2 RHS, <5,1,7,3>
@@ -5097,43 +5095,43 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1571221446U, // <6,u,5,4>: Cost 2 vext2 RHS, <5,4,7,6>
     1571221508U, // <6,u,5,5>: Cost 2 vext2 RHS, <5,5,5,5>
     1612290202U, // <6,u,5,6>: Cost 2 vext3 <0,2,4,6>, RHS
-    1571221672U, // <6,u,5,7>: Cost 2 vext2 RHS, <5,7,5,7>
+    1761045814U, // <6,u,5,7>: Cost 2 vuzpr <2,6,3,u>, RHS
     1612290220U, // <6,u,5,u>: Cost 2 vext3 <0,2,4,6>, RHS
     1504903270U, // <6,u,6,0>: Cost 2 vext1 <4,6,u,6>, LHS
-    2644963752U, // <6,u,6,1>: Cost 3 vext2 RHS, <6,1,7,2>
+    1852249902U, // <6,u,6,1>: Cost 2 vzipl <6,6,6,6>, LHS
     1571222010U, // <6,u,6,2>: Cost 2 vext2 RHS, <6,2,7,3>
-    2686032080U, // <6,u,6,3>: Cost 3 vext3 <0,2,4,6>, <u,6,3,7>
-    1504906550U, // <6,u,6,4>: Cost 2 vext1 <4,6,u,6>, RHS
-    2644964079U, // <6,u,6,5>: Cost 3 vext2 RHS, <6,5,7,5>
+    2041479837U, // <6,u,6,3>: Cost 2 vtrnr <4,6,4,6>, LHS
+    1504906648U, // <6,u,6,4>: Cost 2 vext1 <4,6,u,6>, <4,6,u,6>
+    1852250266U, // <6,u,6,5>: Cost 2 vzipl <6,6,6,6>, RHS
     296144182U,  // <6,u,6,6>: Cost 1 vdup2 RHS
     1571222350U, // <6,u,6,7>: Cost 2 vext2 RHS, <6,7,0,1>
     296144182U,  // <6,u,6,u>: Cost 1 vdup2 RHS
     1492967526U, // <6,u,7,0>: Cost 2 vext1 <2,6,u,7>, LHS
-    2560738574U, // <6,u,7,1>: Cost 3 vext1 <1,6,u,7>, <1,6,u,7>
+    1906753609U, // <6,u,7,1>: Cost 2 vzipr RHS, <0,0,u,1>
     1492969447U, // <6,u,7,2>: Cost 2 vext1 <2,6,u,7>, <2,6,u,7>
-    1906753692U, // <6,u,7,3>: Cost 2 vzipr RHS, LHS
+    833011868U,  // <6,u,7,3>: Cost 1 vzipr RHS, LHS
     1492970806U, // <6,u,7,4>: Cost 2 vext1 <2,6,u,7>, RHS
-    2980495761U, // <6,u,7,5>: Cost 3 vzipr RHS, <0,4,u,5>
-    1516860235U, // <6,u,7,6>: Cost 2 vext1 <6,6,u,7>, <6,6,u,7>
-    1906756936U, // <6,u,7,7>: Cost 2 vzipr RHS, RHS
-    1492973358U, // <6,u,7,u>: Cost 2 vext1 <2,6,u,7>, LHS
+    1906753937U, // <6,u,7,5>: Cost 2 vzipr RHS, <0,4,u,5>
+    1906753776U, // <6,u,7,6>: Cost 2 vzipr RHS, <0,2,u,6>
+    833015112U,  // <6,u,7,7>: Cost 1 vzipr RHS, RHS
+    833011873U,  // <6,u,7,u>: Cost 1 vzipr RHS, LHS
     1492975718U, // <6,u,u,0>: Cost 2 vext1 <2,6,u,u>, LHS
     497481518U,  // <6,u,u,1>: Cost 1 vext2 RHS, LHS
     1612290405U, // <6,u,u,2>: Cost 2 vext3 <0,2,4,6>, LHS
-    1571223484U, // <6,u,u,3>: Cost 2 vext2 RHS, <u,3,0,1>
+    833020060U,  // <6,u,u,3>: Cost 1 vzipr RHS, LHS
     1492978998U, // <6,u,u,4>: Cost 2 vext1 <2,6,u,u>, RHS
     497481882U,  // <6,u,u,5>: Cost 1 vext2 RHS, RHS
     296144182U,  // <6,u,u,6>: Cost 1 vdup2 RHS
-    1906765128U, // <6,u,u,7>: Cost 2 vzipr RHS, RHS
+    833023304U,  // <6,u,u,7>: Cost 1 vzipr RHS, RHS
     497482085U,  // <6,u,u,u>: Cost 1 vext2 RHS, LHS
     1638318080U, // <7,0,0,0>: Cost 2 vext3 RHS, <0,0,0,0>
     1638318090U, // <7,0,0,1>: Cost 2 vext3 RHS, <0,0,1,1>
     1638318100U, // <7,0,0,2>: Cost 2 vext3 RHS, <0,0,2,2>
-    3646442178U, // <7,0,0,3>: Cost 4 vext1 <3,7,0,0>, <3,7,0,0>
+    2987152532U, // <7,0,0,3>: Cost 3 vzipr <5,6,7,0>, <7,2,0,3>
     2712059941U, // <7,0,0,4>: Cost 3 vext3 RHS, <0,0,4,1>
-    2651603364U, // <7,0,0,5>: Cost 3 vext2 <5,6,7,0>, <0,5,1,6>
+    2987152210U, // <7,0,0,5>: Cost 3 vzipr <5,6,7,0>, <6,7,0,5>
     2590618445U, // <7,0,0,6>: Cost 3 vext1 <6,7,0,0>, <6,7,0,0>
-    3785801798U, // <7,0,0,7>: Cost 4 vext3 RHS, <0,0,7,7>
+    2987152050U, // <7,0,0,7>: Cost 3 vzipr <5,6,7,0>, <6,5,0,7>
     1638318153U, // <7,0,0,u>: Cost 2 vext3 RHS, <0,0,u,1>
     1516879974U, // <7,0,1,0>: Cost 2 vext1 <6,7,0,1>, LHS
     2693922911U, // <7,0,1,1>: Cost 3 vext3 <1,5,3,7>, <0,1,1,5>
@@ -5150,37 +5148,37 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2712060094U, // <7,0,2,3>: Cost 3 vext3 RHS, <0,2,3,1>
     1638318284U, // <7,0,2,4>: Cost 2 vext3 RHS, <0,2,4,6>
     2712060118U, // <7,0,2,5>: Cost 3 vext3 RHS, <0,2,5,7>
-    2651604922U, // <7,0,2,6>: Cost 3 vext2 <5,6,7,0>, <2,6,3,7>
+    2712060126U, // <7,0,2,6>: Cost 3 vext3 RHS, <0,2,6,6>
     2686255336U, // <7,0,2,7>: Cost 3 vext3 <0,2,7,7>, <0,2,7,7>
     1638318316U, // <7,0,2,u>: Cost 2 vext3 RHS, <0,2,u,2>
-    2651605142U, // <7,0,3,0>: Cost 3 vext2 <5,6,7,0>, <3,0,1,2>
+    2983854080U, // <7,0,3,0>: Cost 3 vzipr <5,1,7,3>, <0,0,0,0>
     2712060156U, // <7,0,3,1>: Cost 3 vext3 RHS, <0,3,1,0>
     2712060165U, // <7,0,3,2>: Cost 3 vext3 RHS, <0,3,2,0>
     2651605404U, // <7,0,3,3>: Cost 3 vext2 <5,6,7,0>, <3,3,3,3>
     2651605506U, // <7,0,3,4>: Cost 3 vext2 <5,6,7,0>, <3,4,5,6>
     2638998111U, // <7,0,3,5>: Cost 3 vext2 <3,5,7,0>, <3,5,7,0>
     2639661744U, // <7,0,3,6>: Cost 3 vext2 <3,6,7,0>, <3,6,7,0>
-    3712740068U, // <7,0,3,7>: Cost 4 vext2 <3,5,7,0>, <3,7,3,7>
+    3903153152U, // <7,0,3,7>: Cost 4 vuzpr <1,7,3,0>, <1,3,5,7>
     2640989010U, // <7,0,3,u>: Cost 3 vext2 <3,u,7,0>, <3,u,7,0>
-    2712060232U, // <7,0,4,0>: Cost 3 vext3 RHS, <0,4,0,4>
+    2712060230U, // <7,0,4,0>: Cost 3 vext3 RHS, <0,4,0,2>
     1638318418U, // <7,0,4,1>: Cost 2 vext3 RHS, <0,4,1,5>
     1638318428U, // <7,0,4,2>: Cost 2 vext3 RHS, <0,4,2,6>
     3646474950U, // <7,0,4,3>: Cost 4 vext1 <3,7,0,4>, <3,7,0,4>
-    2712060270U, // <7,0,4,4>: Cost 3 vext3 RHS, <0,4,4,6>
+    2712060269U, // <7,0,4,4>: Cost 3 vext3 RHS, <0,4,4,5>
     1577864502U, // <7,0,4,5>: Cost 2 vext2 <5,6,7,0>, RHS
-    2651606388U, // <7,0,4,6>: Cost 3 vext2 <5,6,7,0>, <4,6,4,6>
-    3787792776U, // <7,0,4,7>: Cost 4 vext3 RHS, <0,4,7,5>
+    2651606348U, // <7,0,4,6>: Cost 3 vext2 <5,6,7,0>, <4,6,0,2>
+    2930557508U, // <7,0,4,7>: Cost 3 vzipl <7,4,5,6>, <0,7,1,4>
     1638318481U, // <7,0,4,u>: Cost 2 vext3 RHS, <0,4,u,5>
-    2590654566U, // <7,0,5,0>: Cost 3 vext1 <6,7,0,5>, LHS
+    2647625340U, // <7,0,5,0>: Cost 3 vext2 <5,0,7,0>, <5,0,7,0>
     2651606736U, // <7,0,5,1>: Cost 3 vext2 <5,6,7,0>, <5,1,7,3>
-    2712060334U, // <7,0,5,2>: Cost 3 vext3 RHS, <0,5,2,7>
+    1991032934U, // <7,0,5,2>: Cost 2 vtrnl <7,4,5,6>, LHS
     2649616239U, // <7,0,5,3>: Cost 3 vext2 <5,3,7,0>, <5,3,7,0>
     2651606982U, // <7,0,5,4>: Cost 3 vext2 <5,6,7,0>, <5,4,7,6>
     2651607044U, // <7,0,5,5>: Cost 3 vext2 <5,6,7,0>, <5,5,5,5>
     1577865314U, // <7,0,5,6>: Cost 2 vext2 <5,6,7,0>, <5,6,7,0>
-    2651607208U, // <7,0,5,7>: Cost 3 vext2 <5,6,7,0>, <5,7,5,7>
+    2847477046U, // <7,0,5,7>: Cost 3 vuzpr <4,7,5,0>, RHS
     1579192580U, // <7,0,5,u>: Cost 2 vext2 <5,u,7,0>, <5,u,7,0>
-    2688393709U, // <7,0,6,0>: Cost 3 vext3 <0,6,0,7>, <0,6,0,7>
+    2985869312U, // <7,0,6,0>: Cost 3 vzipr <5,4,7,6>, <0,0,0,0>
     2712060406U, // <7,0,6,1>: Cost 3 vext3 RHS, <0,6,1,7>
     2688541183U, // <7,0,6,2>: Cost 3 vext3 <0,6,2,7>, <0,6,2,7>
     2655588936U, // <7,0,6,3>: Cost 3 vext2 <6,3,7,0>, <6,3,7,0>
@@ -5189,15 +5187,15 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2651607864U, // <7,0,6,6>: Cost 3 vext2 <5,6,7,0>, <6,6,6,6>
     2651607886U, // <7,0,6,7>: Cost 3 vext2 <5,6,7,0>, <6,7,0,1>
     2688983605U, // <7,0,6,u>: Cost 3 vext3 <0,6,u,7>, <0,6,u,7>
-    2651608058U, // <7,0,7,0>: Cost 3 vext2 <5,6,7,0>, <7,0,1,2>
-    2932703334U, // <7,0,7,1>: Cost 3 vzipl <7,7,7,7>, LHS
-    3066921062U, // <7,0,7,2>: Cost 3 vtrnl <7,7,7,7>, LHS
+    2847477192U, // <7,0,7,0>: Cost 3 vuzpr <4,7,5,0>, <4,7,5,0>
+    1858961510U, // <7,0,7,1>: Cost 2 vzipl <7,7,7,7>, LHS
+    1993179238U, // <7,0,7,2>: Cost 2 vtrnl <7,7,7,7>, LHS
     3712742678U, // <7,0,7,3>: Cost 4 vext2 <3,5,7,0>, <7,3,5,7>
     2651608422U, // <7,0,7,4>: Cost 3 vext2 <5,6,7,0>, <7,4,5,6>
     2651608513U, // <7,0,7,5>: Cost 3 vext2 <5,6,7,0>, <7,5,6,7>
     2663552532U, // <7,0,7,6>: Cost 3 vext2 <7,6,7,0>, <7,6,7,0>
     2651608684U, // <7,0,7,7>: Cost 3 vext2 <5,6,7,0>, <7,7,7,7>
-    2651608706U, // <7,0,7,u>: Cost 3 vext2 <5,6,7,0>, <7,u,1,2>
+    1858962077U, // <7,0,7,u>: Cost 2 vzipl <7,7,7,7>, LHS
     1638318730U, // <7,0,u,0>: Cost 2 vext3 RHS, <0,u,0,2>
     1638318738U, // <7,0,u,1>: Cost 2 vext3 RHS, <0,u,1,1>
     564576925U,  // <7,0,u,2>: Cost 1 vext3 RHS, LHS
@@ -5205,134 +5203,134 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1638318770U, // <7,0,u,4>: Cost 2 vext3 RHS, <0,u,4,6>
     1577867418U, // <7,0,u,5>: Cost 2 vext2 <5,6,7,0>, RHS
     1516942165U, // <7,0,u,6>: Cost 2 vext1 <6,7,0,u>, <6,7,0,u>
-    2651609344U, // <7,0,u,7>: Cost 3 vext2 <5,6,7,0>, <u,7,0,1>
+    2847477289U, // <7,0,u,7>: Cost 3 vuzpr <4,7,5,0>, RHS
     564576979U,  // <7,0,u,u>: Cost 1 vext3 RHS, LHS
-    2590687334U, // <7,1,0,0>: Cost 3 vext1 <6,7,1,0>, LHS
+    2712060634U, // <7,1,0,0>: Cost 3 vext3 RHS, <1,0,0,1>
     2639003750U, // <7,1,0,1>: Cost 3 vext2 <3,5,7,1>, LHS
-    2793357414U, // <7,1,0,2>: Cost 3 vuzpl <7,0,1,2>, LHS
+    1719615590U, // <7,1,0,2>: Cost 2 vuzpl <7,0,1,2>, LHS
     1638318838U, // <7,1,0,3>: Cost 2 vext3 RHS, <1,0,3,2>
-    2590690614U, // <7,1,0,4>: Cost 3 vext1 <6,7,1,0>, RHS
+    2859062268U, // <7,1,0,4>: Cost 3 vuzpr <6,7,0,1>, <7,0,1,4>
     2712060679U, // <7,1,0,5>: Cost 3 vext3 RHS, <1,0,5,1>
-    2590692182U, // <7,1,0,6>: Cost 3 vext1 <6,7,1,0>, <6,7,1,0>
-    3785802521U, // <7,1,0,7>: Cost 4 vext3 RHS, <1,0,7,1>
+    2859061568U, // <7,1,0,6>: Cost 3 vuzpr <6,7,0,1>, <6,0,4,6>
+    2554860538U, // <7,1,0,7>: Cost 3 vext1 <0,7,1,0>, <7,0,1,2>
     1638318883U, // <7,1,0,u>: Cost 2 vext3 RHS, <1,0,u,2>
-    2712060715U, // <7,1,1,0>: Cost 3 vext3 RHS, <1,1,0,1>
+    2712060714U, // <7,1,1,0>: Cost 3 vext3 RHS, <1,1,0,0>
     1638318900U, // <7,1,1,1>: Cost 2 vext3 RHS, <1,1,1,1>
-    3774300994U, // <7,1,1,2>: Cost 4 vext3 <2,6,3,7>, <1,1,2,6>
+    2712060734U, // <7,1,1,2>: Cost 3 vext3 RHS, <1,1,2,2>
     1638318920U, // <7,1,1,3>: Cost 2 vext3 RHS, <1,1,3,3>
     2712060755U, // <7,1,1,4>: Cost 3 vext3 RHS, <1,1,4,5>
     2691416926U, // <7,1,1,5>: Cost 3 vext3 <1,1,5,7>, <1,1,5,7>
     2590700375U, // <7,1,1,6>: Cost 3 vext1 <6,7,1,1>, <6,7,1,1>
-    3765158766U, // <7,1,1,7>: Cost 4 vext3 <1,1,5,7>, <1,1,7,5>
+    2859057294U, // <7,1,1,7>: Cost 3 vuzpr <6,7,0,1>, <0,1,6,7>
     1638318965U, // <7,1,1,u>: Cost 2 vext3 RHS, <1,1,u,3>
     2712060796U, // <7,1,2,0>: Cost 3 vext3 RHS, <1,2,0,1>
     2712060807U, // <7,1,2,1>: Cost 3 vext3 RHS, <1,2,1,3>
-    3712747112U, // <7,1,2,2>: Cost 4 vext2 <3,5,7,1>, <2,2,2,2>
+    2712060816U, // <7,1,2,2>: Cost 3 vext3 RHS, <1,2,2,3>
     1638318998U, // <7,1,2,3>: Cost 2 vext3 RHS, <1,2,3,0>
     2712060836U, // <7,1,2,4>: Cost 3 vext3 RHS, <1,2,4,5>
     2712060843U, // <7,1,2,5>: Cost 3 vext3 RHS, <1,2,5,3>
-    2590708568U, // <7,1,2,6>: Cost 3 vext1 <6,7,1,2>, <6,7,1,2>
+    2859057356U, // <7,1,2,6>: Cost 3 vuzpr <6,7,0,1>, <0,2,4,6>
     2735948730U, // <7,1,2,7>: Cost 3 vext3 RHS, <1,2,7,0>
     1638319043U, // <7,1,2,u>: Cost 2 vext3 RHS, <1,2,u,0>
-    2712060876U, // <7,1,3,0>: Cost 3 vext3 RHS, <1,3,0,0>
+    1510998118U, // <7,1,3,0>: Cost 2 vext1 <5,7,1,3>, LHS
     1638319064U, // <7,1,3,1>: Cost 2 vext3 RHS, <1,3,1,3>
     2712060894U, // <7,1,3,2>: Cost 3 vext3 RHS, <1,3,2,0>
-    2692596718U, // <7,1,3,3>: Cost 3 vext3 <1,3,3,7>, <1,3,3,7>
-    2712060917U, // <7,1,3,4>: Cost 3 vext3 RHS, <1,3,4,5>
+    2047869030U, // <7,1,3,3>: Cost 2 vtrnr <5,7,1,3>, LHS
+    1511001398U, // <7,1,3,4>: Cost 2 vext1 <5,7,1,3>, RHS
     1619002368U, // <7,1,3,5>: Cost 2 vext3 <1,3,5,7>, <1,3,5,7>
     2692817929U, // <7,1,3,6>: Cost 3 vext3 <1,3,6,7>, <1,3,6,7>
-    2735948814U, // <7,1,3,7>: Cost 3 vext3 RHS, <1,3,7,3>
+    2983859604U, // <7,1,3,7>: Cost 3 vzipr <5,1,7,3>, <7,5,1,7>
     1619223579U, // <7,1,3,u>: Cost 2 vext3 <1,3,u,7>, <1,3,u,7>
     2712060962U, // <7,1,4,0>: Cost 3 vext3 RHS, <1,4,0,5>
     2712060971U, // <7,1,4,1>: Cost 3 vext3 RHS, <1,4,1,5>
     2712060980U, // <7,1,4,2>: Cost 3 vext3 RHS, <1,4,2,5>
     2712060989U, // <7,1,4,3>: Cost 3 vext3 RHS, <1,4,3,5>
-    3785802822U, // <7,1,4,4>: Cost 4 vext3 RHS, <1,4,4,5>
+    2859060432U, // <7,1,4,4>: Cost 3 vuzpr <6,7,0,1>, <4,4,4,4>
     2639007030U, // <7,1,4,5>: Cost 3 vext2 <3,5,7,1>, RHS
-    2645642634U, // <7,1,4,6>: Cost 3 vext2 <4,6,7,1>, <4,6,7,1>
-    3719384520U, // <7,1,4,7>: Cost 4 vext2 <4,6,7,1>, <4,7,5,0>
-    2639007273U, // <7,1,4,u>: Cost 3 vext2 <3,5,7,1>, RHS
+    1719618870U, // <7,1,4,6>: Cost 2 vuzpl <7,0,1,2>, RHS
+    2793360778U, // <7,1,4,7>: Cost 3 vuzpl <7,0,1,2>, <4,6,7,1>
+    1719618888U, // <7,1,4,u>: Cost 2 vuzpl <7,0,1,2>, RHS
     2572812390U, // <7,1,5,0>: Cost 3 vext1 <3,7,1,5>, LHS
     2693776510U, // <7,1,5,1>: Cost 3 vext3 <1,5,1,7>, <1,5,1,7>
-    3774301318U, // <7,1,5,2>: Cost 4 vext3 <2,6,3,7>, <1,5,2,6>
+    3767592071U, // <7,1,5,2>: Cost 4 vext3 <1,5,2,7>, <1,5,2,7>
     1620182160U, // <7,1,5,3>: Cost 2 vext3 <1,5,3,7>, <1,5,3,7>
     2572815670U, // <7,1,5,4>: Cost 3 vext1 <3,7,1,5>, RHS
-    3766486178U, // <7,1,5,5>: Cost 4 vext3 <1,3,5,7>, <1,5,5,7>
+    2985861458U, // <7,1,5,5>: Cost 3 vzipr <5,4,7,5>, <0,4,1,5>
     2651615331U, // <7,1,5,6>: Cost 3 vext2 <5,6,7,1>, <5,6,7,1>
-    2652278964U, // <7,1,5,7>: Cost 3 vext2 <5,7,7,1>, <5,7,7,1>
+    1785318710U, // <7,1,5,7>: Cost 2 vuzpr <6,7,0,1>, RHS
     1620550845U, // <7,1,5,u>: Cost 2 vext3 <1,5,u,7>, <1,5,u,7>
-    3768108230U, // <7,1,6,0>: Cost 4 vext3 <1,6,0,7>, <1,6,0,7>
+    2653606230U, // <7,1,6,0>: Cost 3 vext2 <6,0,7,1>, <6,0,7,1>
     2694440143U, // <7,1,6,1>: Cost 3 vext3 <1,6,1,7>, <1,6,1,7>
     2712061144U, // <7,1,6,2>: Cost 3 vext3 RHS, <1,6,2,7>
     2694587617U, // <7,1,6,3>: Cost 3 vext3 <1,6,3,7>, <1,6,3,7>
-    3768403178U, // <7,1,6,4>: Cost 4 vext3 <1,6,4,7>, <1,6,4,7>
+    2859061350U, // <7,1,6,4>: Cost 3 vuzpr <6,7,0,1>, <5,6,7,4>
     2694735091U, // <7,1,6,5>: Cost 3 vext3 <1,6,5,7>, <1,6,5,7>
-    3768550652U, // <7,1,6,6>: Cost 4 vext3 <1,6,6,7>, <1,6,6,7>
+    2859060596U, // <7,1,6,6>: Cost 3 vuzpr <6,7,0,1>, <4,6,4,6>
     2652279630U, // <7,1,6,7>: Cost 3 vext2 <5,7,7,1>, <6,7,0,1>
     2694956302U, // <7,1,6,u>: Cost 3 vext3 <1,6,u,7>, <1,6,u,7>
     2645644282U, // <7,1,7,0>: Cost 3 vext2 <4,6,7,1>, <7,0,1,2>
-    2859062094U, // <7,1,7,1>: Cost 3 vuzpr <6,7,0,1>, <6,7,0,1>
-    3779462437U, // <7,1,7,2>: Cost 4 vext3 <3,5,1,7>, <1,7,2,3>
-    3121938534U, // <7,1,7,3>: Cost 3 vtrnr <5,7,5,7>, LHS
-    2554916150U, // <7,1,7,4>: Cost 3 vext1 <0,7,1,7>, RHS
-    3769140548U, // <7,1,7,5>: Cost 4 vext3 <1,7,5,7>, <1,7,5,7>
-    3726022164U, // <7,1,7,6>: Cost 4 vext2 <5,7,7,1>, <7,6,7,0>
-    2554918508U, // <7,1,7,7>: Cost 3 vext1 <0,7,1,7>, <7,7,7,7>
-    3121938539U, // <7,1,7,u>: Cost 3 vtrnr <5,7,5,7>, LHS
-    2572836966U, // <7,1,u,0>: Cost 3 vext1 <3,7,1,u>, LHS
+    1785320270U, // <7,1,7,1>: Cost 2 vuzpr <6,7,0,1>, <6,7,0,1>
+    2986543254U, // <7,1,7,2>: Cost 3 vzipr <5,5,7,7>, <3,0,1,2>
+    2048196710U, // <7,1,7,3>: Cost 2 vtrnr <5,7,5,7>, LHS
+    2793362538U, // <7,1,7,4>: Cost 3 vuzpl <7,0,1,2>, <7,1,4,6>
+    2986541394U, // <7,1,7,5>: Cost 3 vzipr <5,5,7,7>, <0,4,1,5>
+    4060283057U, // <7,1,7,6>: Cost 4 vzipr <5,5,7,7>, <0,2,1,6>
+    2859061416U, // <7,1,7,7>: Cost 3 vuzpr <6,7,0,1>, <5,7,5,7>
+    2048196715U, // <7,1,7,u>: Cost 2 vtrnr <5,7,5,7>, LHS
+    1511039078U, // <7,1,u,0>: Cost 2 vext1 <5,7,1,u>, LHS
     1638319469U, // <7,1,u,1>: Cost 2 vext3 RHS, <1,u,1,3>
-    2712061299U, // <7,1,u,2>: Cost 3 vext3 RHS, <1,u,2,0>
+    1719621422U, // <7,1,u,2>: Cost 2 vuzpl <7,0,1,2>, LHS
     1622173059U, // <7,1,u,3>: Cost 2 vext3 <1,u,3,7>, <1,u,3,7>
-    2572840246U, // <7,1,u,4>: Cost 3 vext1 <3,7,1,u>, RHS
+    1511042358U, // <7,1,u,4>: Cost 2 vext1 <5,7,1,u>, RHS
     1622320533U, // <7,1,u,5>: Cost 2 vext3 <1,u,5,7>, <1,u,5,7>
-    2696136094U, // <7,1,u,6>: Cost 3 vext3 <1,u,6,7>, <1,u,6,7>
-    2859060777U, // <7,1,u,7>: Cost 3 vuzpr <6,7,0,1>, RHS
+    1719621786U, // <7,1,u,6>: Cost 2 vuzpl <7,0,1,2>, RHS
+    1785318953U, // <7,1,u,7>: Cost 2 vuzpr <6,7,0,1>, RHS
     1622541744U, // <7,1,u,u>: Cost 2 vext3 <1,u,u,7>, <1,u,u,7>
     2712061364U, // <7,2,0,0>: Cost 3 vext3 RHS, <2,0,0,2>
     2712061373U, // <7,2,0,1>: Cost 3 vext3 RHS, <2,0,1,2>
     2712061380U, // <7,2,0,2>: Cost 3 vext3 RHS, <2,0,2,0>
-    2712061389U, // <7,2,0,3>: Cost 3 vext3 RHS, <2,0,3,0>
-    2712061404U, // <7,2,0,4>: Cost 3 vext3 RHS, <2,0,4,6>
+    1913405542U, // <7,2,0,3>: Cost 2 vzipr <5,6,7,0>, LHS
+    2712061400U, // <7,2,0,4>: Cost 3 vext3 RHS, <2,0,4,2>
     2696725990U, // <7,2,0,5>: Cost 3 vext3 <2,0,5,7>, <2,0,5,7>
     2712061417U, // <7,2,0,6>: Cost 3 vext3 RHS, <2,0,6,1>
-    3785803251U, // <7,2,0,7>: Cost 4 vext3 RHS, <2,0,7,2>
-    2696947201U, // <7,2,0,u>: Cost 3 vext3 <2,0,u,7>, <2,0,u,7>
+    2927577066U, // <7,2,0,7>: Cost 3 vzipl <7,0,1,2>, <2,7,0,1>
+    1913405547U, // <7,2,0,u>: Cost 2 vzipr <5,6,7,0>, LHS
     2712061446U, // <7,2,1,0>: Cost 3 vext3 RHS, <2,1,0,3>
     3785803276U, // <7,2,1,1>: Cost 4 vext3 RHS, <2,1,1,0>
-    3785803285U, // <7,2,1,2>: Cost 4 vext3 RHS, <2,1,2,0>
-    2712061471U, // <7,2,1,3>: Cost 3 vext3 RHS, <2,1,3,1>
+    2712061464U, // <7,2,1,2>: Cost 3 vext3 RHS, <2,1,2,3>
+    2974548070U, // <7,2,1,3>: Cost 3 vzipr <3,5,7,1>, LHS
     2712061482U, // <7,2,1,4>: Cost 3 vext3 RHS, <2,1,4,3>
     3766486576U, // <7,2,1,5>: Cost 4 vext3 <1,3,5,7>, <2,1,5,0>
     2712061500U, // <7,2,1,6>: Cost 3 vext3 RHS, <2,1,6,3>
     2602718850U, // <7,2,1,7>: Cost 3 vext1 <u,7,2,1>, <7,u,1,2>
-    2712061516U, // <7,2,1,u>: Cost 3 vext3 RHS, <2,1,u,1>
-    2712061525U, // <7,2,2,0>: Cost 3 vext3 RHS, <2,2,0,1>
+    2974548075U, // <7,2,1,u>: Cost 3 vzipr <3,5,7,1>, LHS
+    2712061524U, // <7,2,2,0>: Cost 3 vext3 RHS, <2,2,0,0>
     2712061536U, // <7,2,2,1>: Cost 3 vext3 RHS, <2,2,1,3>
     1638319720U, // <7,2,2,2>: Cost 2 vext3 RHS, <2,2,2,2>
     1638319730U, // <7,2,2,3>: Cost 2 vext3 RHS, <2,2,3,3>
-    2712061565U, // <7,2,2,4>: Cost 3 vext3 RHS, <2,2,4,5>
+    2712061564U, // <7,2,2,4>: Cost 3 vext3 RHS, <2,2,4,4>
     2698053256U, // <7,2,2,5>: Cost 3 vext3 <2,2,5,7>, <2,2,5,7>
-    2712061584U, // <7,2,2,6>: Cost 3 vext3 RHS, <2,2,6,6>
-    3771795096U, // <7,2,2,7>: Cost 4 vext3 <2,2,5,7>, <2,2,7,5>
+    2712061581U, // <7,2,2,6>: Cost 3 vext3 RHS, <2,2,6,3>
+    4039008767U, // <7,2,2,7>: Cost 4 vzipr <2,0,7,2>, <0,6,2,7>
     1638319775U, // <7,2,2,u>: Cost 2 vext3 RHS, <2,2,u,3>
     1638319782U, // <7,2,3,0>: Cost 2 vext3 RHS, <2,3,0,1>
     2693924531U, // <7,2,3,1>: Cost 3 vext3 <1,5,3,7>, <2,3,1,5>
     2700560061U, // <7,2,3,2>: Cost 3 vext3 <2,6,3,7>, <2,3,2,6>
-    2693924551U, // <7,2,3,3>: Cost 3 vext3 <1,5,3,7>, <2,3,3,7>
+    1910112358U, // <7,2,3,3>: Cost 2 vzipr <5,1,7,3>, LHS
     1638319822U, // <7,2,3,4>: Cost 2 vext3 RHS, <2,3,4,5>
     2698716889U, // <7,2,3,5>: Cost 3 vext3 <2,3,5,7>, <2,3,5,7>
-    2712061665U, // <7,2,3,6>: Cost 3 vext3 RHS, <2,3,6,6>
-    2735949540U, // <7,2,3,7>: Cost 3 vext3 RHS, <2,3,7,0>
+    2983854428U, // <7,2,3,6>: Cost 3 vzipr <5,1,7,3>, <0,4,2,6>
+    2990495214U, // <7,2,3,7>: Cost 3 vzipr <6,2,7,3>, <7,6,2,7>
     1638319854U, // <7,2,3,u>: Cost 2 vext3 RHS, <2,3,u,1>
-    2712061692U, // <7,2,4,0>: Cost 3 vext3 RHS, <2,4,0,6>
+    2712061688U, // <7,2,4,0>: Cost 3 vext3 RHS, <2,4,0,2>
     2712061698U, // <7,2,4,1>: Cost 3 vext3 RHS, <2,4,1,3>
     2712061708U, // <7,2,4,2>: Cost 3 vext3 RHS, <2,4,2,4>
-    2712061718U, // <7,2,4,3>: Cost 3 vext3 RHS, <2,4,3,5>
+    1913438310U, // <7,2,4,3>: Cost 2 vzipr <5,6,7,4>, LHS
     2712061728U, // <7,2,4,4>: Cost 3 vext3 RHS, <2,4,4,6>
     2699380522U, // <7,2,4,5>: Cost 3 vext3 <2,4,5,7>, <2,4,5,7>
     2712061740U, // <7,2,4,6>: Cost 3 vext3 RHS, <2,4,6,0>
-    3809691445U, // <7,2,4,7>: Cost 4 vext3 RHS, <2,4,7,0>
-    2699601733U, // <7,2,4,u>: Cost 3 vext3 <2,4,u,7>, <2,4,u,7>
+    3785803574U, // <7,2,4,7>: Cost 4 vext3 RHS, <2,4,7,1>
+    1913438315U, // <7,2,4,u>: Cost 2 vzipr <5,6,7,4>, LHS
     2699675470U, // <7,2,5,0>: Cost 3 vext3 <2,5,0,7>, <2,5,0,7>
     3766486867U, // <7,2,5,1>: Cost 4 vext3 <1,3,5,7>, <2,5,1,3>
     2699822944U, // <7,2,5,2>: Cost 3 vext3 <2,5,2,7>, <2,5,2,7>
@@ -5340,7 +5338,7 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2699970418U, // <7,2,5,4>: Cost 3 vext3 <2,5,4,7>, <2,5,4,7>
     3766486907U, // <7,2,5,5>: Cost 4 vext3 <1,3,5,7>, <2,5,5,7>
     2700117892U, // <7,2,5,6>: Cost 3 vext3 <2,5,6,7>, <2,5,6,7>
-    3771795334U, // <7,2,5,7>: Cost 4 vext3 <2,2,5,7>, <2,5,7,0>
+    2853096758U, // <7,2,5,7>: Cost 3 vuzpr <5,7,0,2>, RHS
     2692745110U, // <7,2,5,u>: Cost 3 vext3 <1,3,5,7>, <2,5,u,7>
     2572894310U, // <7,2,6,0>: Cost 3 vext1 <3,7,2,6>, LHS
     2712061860U, // <7,2,6,1>: Cost 3 vext3 RHS, <2,6,1,3>
@@ -5349,17 +5347,17 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2572897590U, // <7,2,6,4>: Cost 3 vext1 <3,7,2,6>, RHS
     2700707788U, // <7,2,6,5>: Cost 3 vext3 <2,6,5,7>, <2,6,5,7>
     2700781525U, // <7,2,6,6>: Cost 3 vext3 <2,6,6,7>, <2,6,6,7>
-    3774597086U, // <7,2,6,7>: Cost 4 vext3 <2,6,7,7>, <2,6,7,7>
+    2797457914U, // <7,2,6,7>: Cost 3 vuzpl <7,6,2,7>, <6,2,7,3>
     1627187175U, // <7,2,6,u>: Cost 2 vext3 <2,6,u,7>, <2,6,u,7>
-    2735949802U, // <7,2,7,0>: Cost 3 vext3 RHS, <2,7,0,1>
+    3121939350U, // <7,2,7,0>: Cost 3 vtrnr <5,7,5,7>, <1,2,3,0>
     3780200434U, // <7,2,7,1>: Cost 4 vext3 <3,6,2,7>, <2,7,1,0>
-    3773564928U, // <7,2,7,2>: Cost 4 vext3 <2,5,2,7>, <2,7,2,5>
-    2986541158U, // <7,2,7,3>: Cost 3 vzipr <5,5,7,7>, LHS
-    2554989878U, // <7,2,7,4>: Cost 3 vext1 <0,7,2,7>, RHS
-    3775113245U, // <7,2,7,5>: Cost 4 vext3 <2,7,5,7>, <2,7,5,7>
-    4060283228U, // <7,2,7,6>: Cost 4 vzipr <5,5,7,7>, <0,4,2,6>
-    2554992236U, // <7,2,7,7>: Cost 3 vext1 <0,7,2,7>, <7,7,7,7>
-    2986541163U, // <7,2,7,u>: Cost 3 vzipr <5,5,7,7>, LHS
+    2986541076U, // <7,2,7,2>: Cost 3 vzipr <5,5,7,7>, <0,0,2,2>
+    1912799334U, // <7,2,7,3>: Cost 2 vzipr <5,5,7,7>, LHS
+    3121939354U, // <7,2,7,4>: Cost 3 vtrnr <5,7,5,7>, <1,2,3,4>
+    3305351197U, // <7,2,7,5>: Cost 4 vrev <2,7,5,7>
+    2986541404U, // <7,2,7,6>: Cost 3 vzipr <5,5,7,7>, <0,4,2,6>
+    2865632876U, // <7,2,7,7>: Cost 3 vuzpr <7,7,u,2>, <7,7,7,7>
+    1912799339U, // <7,2,7,u>: Cost 2 vzipr <5,5,7,7>, LHS
     1638320187U, // <7,2,u,0>: Cost 2 vext3 RHS, <2,u,0,1>
     2693924936U, // <7,2,u,1>: Cost 3 vext3 <1,5,3,7>, <2,u,1,5>
     1638319720U, // <7,2,u,2>: Cost 2 vext3 RHS, <2,2,2,2>
@@ -5367,64 +5365,64 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1638320227U, // <7,2,u,4>: Cost 2 vext3 RHS, <2,u,4,5>
     2702035054U, // <7,2,u,5>: Cost 3 vext3 <2,u,5,7>, <2,u,5,7>
     2702108791U, // <7,2,u,6>: Cost 3 vext3 <2,u,6,7>, <2,u,6,7>
-    2735949945U, // <7,2,u,7>: Cost 3 vext3 RHS, <2,u,7,0>
+    2853097001U, // <7,2,u,7>: Cost 3 vuzpr <5,7,0,2>, RHS
     1628514441U, // <7,2,u,u>: Cost 2 vext3 <2,u,u,7>, <2,u,u,7>
     2712062091U, // <7,3,0,0>: Cost 3 vext3 RHS, <3,0,0,0>
     1638320278U, // <7,3,0,1>: Cost 2 vext3 RHS, <3,0,1,2>
     2712062109U, // <7,3,0,2>: Cost 3 vext3 RHS, <3,0,2,0>
-    2590836886U, // <7,3,0,3>: Cost 3 vext1 <6,7,3,0>, <3,0,1,2>
+    2712062119U, // <7,3,0,3>: Cost 3 vext3 RHS, <3,0,3,1>
     2712062128U, // <7,3,0,4>: Cost 3 vext3 RHS, <3,0,4,1>
     2712062138U, // <7,3,0,5>: Cost 3 vext3 RHS, <3,0,5,2>
     2590839656U, // <7,3,0,6>: Cost 3 vext1 <6,7,3,0>, <6,7,3,0>
-    3311414017U, // <7,3,0,7>: Cost 4 vrev <3,7,7,0>
+    2985157776U, // <7,3,0,7>: Cost 3 vzipr <5,3,7,0>, <1,5,3,7>
     1638320341U, // <7,3,0,u>: Cost 2 vext3 RHS, <3,0,u,2>
     2237164227U, // <7,3,1,0>: Cost 3 vrev <3,7,0,1>
     2712062182U, // <7,3,1,1>: Cost 3 vext3 RHS, <3,1,1,1>
     2712062193U, // <7,3,1,2>: Cost 3 vext3 RHS, <3,1,2,3>
-    2692745468U, // <7,3,1,3>: Cost 3 vext3 <1,3,5,7>, <3,1,3,5>
+    1779433574U, // <7,3,1,3>: Cost 2 vuzpr <5,7,1,3>, LHS
     2712062214U, // <7,3,1,4>: Cost 3 vext3 RHS, <3,1,4,6>
     2693925132U, // <7,3,1,5>: Cost 3 vext3 <1,5,3,7>, <3,1,5,3>
-    3768183059U, // <7,3,1,6>: Cost 4 vext3 <1,6,1,7>, <3,1,6,1>
+    2853179064U, // <7,3,1,6>: Cost 3 vuzpr <5,7,1,3>, <5,1,4,6>
     2692745504U, // <7,3,1,7>: Cost 3 vext3 <1,3,5,7>, <3,1,7,5>
-    2696063273U, // <7,3,1,u>: Cost 3 vext3 <1,u,5,7>, <3,1,u,5>
+    1779433579U, // <7,3,1,u>: Cost 2 vuzpr <5,7,1,3>, LHS
     2712062254U, // <7,3,2,0>: Cost 3 vext3 RHS, <3,2,0,1>
     2712062262U, // <7,3,2,1>: Cost 3 vext3 RHS, <3,2,1,0>
     2712062273U, // <7,3,2,2>: Cost 3 vext3 RHS, <3,2,2,2>
     2712062280U, // <7,3,2,3>: Cost 3 vext3 RHS, <3,2,3,0>
-    2712062294U, // <7,3,2,4>: Cost 3 vext3 RHS, <3,2,4,5>
+    2712062292U, // <7,3,2,4>: Cost 3 vext3 RHS, <3,2,4,3>
     2712062302U, // <7,3,2,5>: Cost 3 vext3 RHS, <3,2,5,4>
     2700560742U, // <7,3,2,6>: Cost 3 vext3 <2,6,3,7>, <3,2,6,3>
     2712062319U, // <7,3,2,7>: Cost 3 vext3 RHS, <3,2,7,3>
     2712062325U, // <7,3,2,u>: Cost 3 vext3 RHS, <3,2,u,0>
-    2712062335U, // <7,3,3,0>: Cost 3 vext3 RHS, <3,3,0,1>
+    2712062334U, // <7,3,3,0>: Cost 3 vext3 RHS, <3,3,0,0>
     2636368158U, // <7,3,3,1>: Cost 3 vext2 <3,1,7,3>, <3,1,7,3>
     2637031791U, // <7,3,3,2>: Cost 3 vext2 <3,2,7,3>, <3,2,7,3>
     1638320540U, // <7,3,3,3>: Cost 2 vext3 RHS, <3,3,3,3>
     2712062374U, // <7,3,3,4>: Cost 3 vext3 RHS, <3,3,4,4>
     2704689586U, // <7,3,3,5>: Cost 3 vext3 <3,3,5,7>, <3,3,5,7>
-    2590864235U, // <7,3,3,6>: Cost 3 vext1 <6,7,3,3>, <6,7,3,3>
-    2704837060U, // <7,3,3,7>: Cost 3 vext3 <3,3,7,7>, <3,3,7,7>
+    2990491658U, // <7,3,3,6>: Cost 3 vzipr <6,2,7,3>, <2,7,3,6>
+    2972574864U, // <7,3,3,7>: Cost 3 vzipr <3,2,7,3>, <1,5,3,7>
     1638320540U, // <7,3,3,u>: Cost 2 vext3 RHS, <3,3,3,3>
     2712062416U, // <7,3,4,0>: Cost 3 vext3 RHS, <3,4,0,1>
     2712062426U, // <7,3,4,1>: Cost 3 vext3 RHS, <3,4,1,2>
-    2566981640U, // <7,3,4,2>: Cost 3 vext1 <2,7,3,4>, <2,7,3,4>
+    2987180790U, // <7,3,4,2>: Cost 3 vzipr <5,6,7,4>, <1,0,3,2>
     2712062447U, // <7,3,4,3>: Cost 3 vext3 RHS, <3,4,3,5>
-    2712062456U, // <7,3,4,4>: Cost 3 vext3 RHS, <3,4,4,5>
+    2712062455U, // <7,3,4,4>: Cost 3 vext3 RHS, <3,4,4,4>
     1638320642U, // <7,3,4,5>: Cost 2 vext3 RHS, <3,4,5,6>
-    2648313204U, // <7,3,4,6>: Cost 3 vext2 <5,1,7,3>, <4,6,4,6>
-    3311446789U, // <7,3,4,7>: Cost 4 vrev <3,7,7,4>
+    2648313164U, // <7,3,4,6>: Cost 3 vext2 <5,1,7,3>, <4,6,0,2>
+    2985190544U, // <7,3,4,7>: Cost 3 vzipr <5,3,7,4>, <1,5,3,7>
     1638320669U, // <7,3,4,u>: Cost 2 vext3 RHS, <3,4,u,6>
-    2602819686U, // <7,3,5,0>: Cost 3 vext1 <u,7,3,5>, LHS
+    2712062498U, // <7,3,5,0>: Cost 3 vext3 RHS, <3,5,0,2>
     1574571728U, // <7,3,5,1>: Cost 2 vext2 <5,1,7,3>, <5,1,7,3>
     2648977185U, // <7,3,5,2>: Cost 3 vext2 <5,2,7,3>, <5,2,7,3>
     2705869378U, // <7,3,5,3>: Cost 3 vext3 <3,5,3,7>, <3,5,3,7>
     2237491947U, // <7,3,5,4>: Cost 3 vrev <3,7,4,5>
     2706016852U, // <7,3,5,5>: Cost 3 vext3 <3,5,5,7>, <3,5,5,7>
     2648313954U, // <7,3,5,6>: Cost 3 vext2 <5,1,7,3>, <5,6,7,0>
-    2692745823U, // <7,3,5,7>: Cost 3 vext3 <1,3,5,7>, <3,5,7,0>
-    1579217159U, // <7,3,5,u>: Cost 2 vext2 <5,u,7,3>, <5,u,7,3>
+    1779436854U, // <7,3,5,7>: Cost 2 vuzpr <5,7,1,3>, RHS
+    1779436855U, // <7,3,5,u>: Cost 2 vuzpr <5,7,1,3>, RHS
     2706311800U, // <7,3,6,0>: Cost 3 vext3 <3,6,0,7>, <3,6,0,7>
-    2654286249U, // <7,3,6,1>: Cost 3 vext2 <6,1,7,3>, <6,1,7,3>
+    2853178744U, // <7,3,6,1>: Cost 3 vuzpr <5,7,1,3>, <4,6,5,1>
     1581208058U, // <7,3,6,2>: Cost 2 vext2 <6,2,7,3>, <6,2,7,3>
     2706533011U, // <7,3,6,3>: Cost 3 vext3 <3,6,3,7>, <3,6,3,7>
     2706606748U, // <7,3,6,4>: Cost 3 vext3 <3,6,4,7>, <3,6,4,7>
@@ -5435,66 +5433,66 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2693925571U, // <7,3,7,0>: Cost 3 vext3 <1,5,3,7>, <3,7,0,1>
     2693925584U, // <7,3,7,1>: Cost 3 vext3 <1,5,3,7>, <3,7,1,5>
     2700561114U, // <7,3,7,2>: Cost 3 vext3 <2,6,3,7>, <3,7,2,6>
-    2572978916U, // <7,3,7,3>: Cost 3 vext1 <3,7,3,7>, <3,7,3,7>
+    1779437696U, // <7,3,7,3>: Cost 2 vuzpr <5,7,1,3>, <5,7,1,3>
     2693925611U, // <7,3,7,4>: Cost 3 vext3 <1,5,3,7>, <3,7,4,5>
-    2707344118U, // <7,3,7,5>: Cost 3 vext3 <3,7,5,7>, <3,7,5,7>
+    2237582070U, // <7,3,7,5>: Cost 3 vrev <3,7,5,7>
     2654950894U, // <7,3,7,6>: Cost 3 vext2 <6,2,7,3>, <7,6,2,7>
-    2648315500U, // <7,3,7,7>: Cost 3 vext2 <5,1,7,3>, <7,7,7,7>
-    2693925643U, // <7,3,7,u>: Cost 3 vext3 <1,5,3,7>, <3,7,u,1>
+    2975261840U, // <7,3,7,7>: Cost 3 vzipr <3,6,7,7>, <1,5,3,7>
+    1779437696U, // <7,3,7,u>: Cost 2 vuzpr <5,7,1,3>, <5,7,1,3>
     2237221578U, // <7,3,u,0>: Cost 3 vrev <3,7,0,u>
     1638320926U, // <7,3,u,1>: Cost 2 vext3 RHS, <3,u,1,2>
     1593153452U, // <7,3,u,2>: Cost 2 vext2 <u,2,7,3>, <u,2,7,3>
-    1638320540U, // <7,3,u,3>: Cost 2 vext3 RHS, <3,3,3,3>
+    1779434141U, // <7,3,u,3>: Cost 2 vuzpr <5,7,1,3>, LHS
     2237516526U, // <7,3,u,4>: Cost 3 vrev <3,7,4,u>
     1638320966U, // <7,3,u,5>: Cost 2 vext3 RHS, <3,u,5,6>
     2712062796U, // <7,3,u,6>: Cost 3 vext3 RHS, <3,u,6,3>
-    2692967250U, // <7,3,u,7>: Cost 3 vext3 <1,3,u,7>, <3,u,7,0>
+    1779437097U, // <7,3,u,7>: Cost 2 vuzpr <5,7,1,3>, RHS
     1638320989U, // <7,3,u,u>: Cost 2 vext3 RHS, <3,u,u,2>
-    2651635712U, // <7,4,0,0>: Cost 3 vext2 <5,6,7,4>, <0,0,0,0>
+    2714053478U, // <7,4,0,0>: Cost 3 vext3 RHS, <4,0,0,2>
     1577893990U, // <7,4,0,1>: Cost 2 vext2 <5,6,7,4>, LHS
     2651635876U, // <7,4,0,2>: Cost 3 vext2 <5,6,7,4>, <0,2,0,2>
     3785804672U, // <7,4,0,3>: Cost 4 vext3 RHS, <4,0,3,1>
-    2651636050U, // <7,4,0,4>: Cost 3 vext2 <5,6,7,4>, <0,4,1,5>
+    2714053512U, // <7,4,0,4>: Cost 3 vext3 RHS, <4,0,4,0>
     1638468498U, // <7,4,0,5>: Cost 2 vext3 RHS, <4,0,5,1>
     1638468508U, // <7,4,0,6>: Cost 2 vext3 RHS, <4,0,6,2>
-    3787795364U, // <7,4,0,7>: Cost 4 vext3 RHS, <4,0,7,1>
-    1640459181U, // <7,4,0,u>: Cost 2 vext3 RHS, <4,0,u,1>
+    2927578568U, // <7,4,0,7>: Cost 3 vzipl <7,0,1,2>, <4,7,5,0>
+    1640311726U, // <7,4,0,u>: Cost 2 vext3 RHS, <4,0,u,2>
     2651636470U, // <7,4,1,0>: Cost 3 vext2 <5,6,7,4>, <1,0,3,2>
     2651636532U, // <7,4,1,1>: Cost 3 vext2 <5,6,7,4>, <1,1,1,1>
     2712062922U, // <7,4,1,2>: Cost 3 vext3 RHS, <4,1,2,3>
     2639029248U, // <7,4,1,3>: Cost 3 vext2 <3,5,7,4>, <1,3,5,7>
-    2712062940U, // <7,4,1,4>: Cost 3 vext3 RHS, <4,1,4,3>
+    3127495888U, // <7,4,1,4>: Cost 3 vtrnr <6,7,0,1>, <4,4,4,4>
     2712062946U, // <7,4,1,5>: Cost 3 vext3 RHS, <4,1,5,0>
-    2712062958U, // <7,4,1,6>: Cost 3 vext3 RHS, <4,1,6,3>
-    3785804791U, // <7,4,1,7>: Cost 4 vext3 RHS, <4,1,7,3>
-    2712062973U, // <7,4,1,u>: Cost 3 vext3 RHS, <4,1,u,0>
+    1988054326U, // <7,4,1,6>: Cost 2 vtrnl <7,0,1,2>, RHS
+    3061796234U, // <7,4,1,7>: Cost 3 vtrnl <7,0,1,2>, <4,6,7,1>
+    1988054344U, // <7,4,1,u>: Cost 2 vtrnl <7,0,1,2>, RHS
     3785804807U, // <7,4,2,0>: Cost 4 vext3 RHS, <4,2,0,1>
     3785804818U, // <7,4,2,1>: Cost 4 vext3 RHS, <4,2,1,3>
     2651637352U, // <7,4,2,2>: Cost 3 vext2 <5,6,7,4>, <2,2,2,2>
     2651637414U, // <7,4,2,3>: Cost 3 vext2 <5,6,7,4>, <2,3,0,1>
-    3716753194U, // <7,4,2,4>: Cost 4 vext2 <4,2,7,4>, <2,4,5,7>
+    2853258138U, // <7,4,2,4>: Cost 3 vuzpr <5,7,2,4>, <1,2,3,4>
     2712063030U, // <7,4,2,5>: Cost 3 vext3 RHS, <4,2,5,3>
     2712063036U, // <7,4,2,6>: Cost 3 vext3 RHS, <4,2,6,0>
     3773123658U, // <7,4,2,7>: Cost 4 vext3 <2,4,5,7>, <4,2,7,5>
     2712063054U, // <7,4,2,u>: Cost 3 vext3 RHS, <4,2,u,0>
     2651637910U, // <7,4,3,0>: Cost 3 vext2 <5,6,7,4>, <3,0,1,2>
     3712772348U, // <7,4,3,1>: Cost 4 vext2 <3,5,7,4>, <3,1,3,5>
-    3785804906U, // <7,4,3,2>: Cost 4 vext3 RHS, <4,3,2,1>
+    3710781808U, // <7,4,3,2>: Cost 4 vext2 <3,2,7,4>, <3,2,7,4>
     2651638172U, // <7,4,3,3>: Cost 3 vext2 <5,6,7,4>, <3,3,3,3>
-    2651638274U, // <7,4,3,4>: Cost 3 vext2 <5,6,7,4>, <3,4,5,6>
+    2983857360U, // <7,4,3,4>: Cost 3 vzipr <5,1,7,3>, <4,4,4,4>
     2639030883U, // <7,4,3,5>: Cost 3 vext2 <3,5,7,4>, <3,5,7,4>
     2712063122U, // <7,4,3,6>: Cost 3 vext3 RHS, <4,3,6,5>
-    3712772836U, // <7,4,3,7>: Cost 4 vext2 <3,5,7,4>, <3,7,3,7>
+    3903185920U, // <7,4,3,7>: Cost 4 vuzpr <1,7,3,4>, <1,3,5,7>
     2641021782U, // <7,4,3,u>: Cost 3 vext2 <3,u,7,4>, <3,u,7,4>
-    2714053802U, // <7,4,4,0>: Cost 3 vext3 RHS, <4,4,0,2>
-    3785804978U, // <7,4,4,1>: Cost 4 vext3 RHS, <4,4,1,1>
+    2714053800U, // <7,4,4,0>: Cost 3 vext3 RHS, <4,4,0,0>
+    2712063156U, // <7,4,4,1>: Cost 3 vext3 RHS, <4,4,1,3>
     3716754505U, // <7,4,4,2>: Cost 4 vext2 <4,2,7,4>, <4,2,7,4>
-    3785804998U, // <7,4,4,3>: Cost 4 vext3 RHS, <4,4,3,3>
+    2987185336U, // <7,4,4,3>: Cost 3 vzipr <5,6,7,4>, <7,2,4,3>
     1638321360U, // <7,4,4,4>: Cost 2 vext3 RHS, <4,4,4,4>
     1638468826U, // <7,4,4,5>: Cost 2 vext3 RHS, <4,4,5,5>
     1638468836U, // <7,4,4,6>: Cost 2 vext3 RHS, <4,4,6,6>
-    3785215214U, // <7,4,4,7>: Cost 4 vext3 <4,4,7,7>, <4,4,7,7>
-    1640459509U, // <7,4,4,u>: Cost 2 vext3 RHS, <4,4,u,5>
+    2987185664U, // <7,4,4,7>: Cost 3 vzipr <5,6,7,4>, <7,6,4,7>
+    1640312054U, // <7,4,4,u>: Cost 2 vext3 RHS, <4,4,u,6>
     1517207654U, // <7,4,5,0>: Cost 2 vext1 <6,7,4,5>, LHS
     2573034640U, // <7,4,5,1>: Cost 3 vext1 <3,7,4,5>, <1,5,3,7>
     2712063246U, // <7,4,5,2>: Cost 3 vext3 RHS, <4,5,2,3>
@@ -5502,92 +5500,92 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1517210934U, // <7,4,5,4>: Cost 2 vext1 <6,7,4,5>, RHS
     2711989549U, // <7,4,5,5>: Cost 3 vext3 <4,5,5,7>, <4,5,5,7>
     564579638U,  // <7,4,5,6>: Cost 1 vext3 RHS, RHS
-    2651639976U, // <7,4,5,7>: Cost 3 vext2 <5,6,7,4>, <5,7,5,7>
+    2847509814U, // <7,4,5,7>: Cost 3 vuzpr <4,7,5,4>, RHS
     564579656U,  // <7,4,5,u>: Cost 1 vext3 RHS, RHS
-    2712063307U, // <7,4,6,0>: Cost 3 vext3 RHS, <4,6,0,1>
-    3767668056U, // <7,4,6,1>: Cost 4 vext3 <1,5,3,7>, <4,6,1,5>
-    2651640314U, // <7,4,6,2>: Cost 3 vext2 <5,6,7,4>, <6,2,7,3>
-    2655621708U, // <7,4,6,3>: Cost 3 vext2 <6,3,7,4>, <6,3,7,4>
+    1638468940U, // <7,4,6,0>: Cost 2 vext3 RHS, <4,6,0,2>
+    2712063318U, // <7,4,6,1>: Cost 3 vext3 RHS, <4,6,1,3>
+    2712210780U, // <7,4,6,2>: Cost 3 vext3 RHS, <4,6,2,0>
+    2712210790U, // <7,4,6,3>: Cost 3 vext3 RHS, <4,6,3,1>
     1638468980U, // <7,4,6,4>: Cost 2 vext3 RHS, <4,6,4,6>
     2712063358U, // <7,4,6,5>: Cost 3 vext3 RHS, <4,6,5,7>
     2712063367U, // <7,4,6,6>: Cost 3 vext3 RHS, <4,6,6,7>
     2712210826U, // <7,4,6,7>: Cost 3 vext3 RHS, <4,6,7,1>
     1638469012U, // <7,4,6,u>: Cost 2 vext3 RHS, <4,6,u,2>
     2651640826U, // <7,4,7,0>: Cost 3 vext2 <5,6,7,4>, <7,0,1,2>
-    3773713830U, // <7,4,7,1>: Cost 4 vext3 <2,5,4,7>, <4,7,1,2>
-    3773713842U, // <7,4,7,2>: Cost 4 vext3 <2,5,4,7>, <4,7,2,5>
+    2794279930U, // <7,4,7,1>: Cost 3 vuzpl <7,1,4,6>, <7,0,1,2>
+    2651641016U, // <7,4,7,2>: Cost 3 vext2 <5,6,7,4>, <7,2,4,3>
     3780349372U, // <7,4,7,3>: Cost 4 vext3 <3,6,4,7>, <4,7,3,6>
-    2651641140U, // <7,4,7,4>: Cost 3 vext2 <5,6,7,4>, <7,4,0,1>
-    2712210888U, // <7,4,7,5>: Cost 3 vext3 RHS, <4,7,5,0>
-    2712210898U, // <7,4,7,6>: Cost 3 vext3 RHS, <4,7,6,1>
+    2847509964U, // <7,4,7,4>: Cost 3 vuzpr <4,7,5,4>, <4,7,5,4>
+    1858964790U, // <7,4,7,5>: Cost 2 vzipl <7,7,7,7>, RHS
+    1993182518U, // <7,4,7,6>: Cost 2 vtrnl <7,7,7,7>, RHS
     2651641452U, // <7,4,7,7>: Cost 3 vext2 <5,6,7,4>, <7,7,7,7>
-    2713538026U, // <7,4,7,u>: Cost 3 vext3 <4,7,u,7>, <4,7,u,7>
-    1517232230U, // <7,4,u,0>: Cost 2 vext1 <6,7,4,u>, LHS
+    1858965033U, // <7,4,7,u>: Cost 2 vzipl <7,7,7,7>, RHS
+    1640312302U, // <7,4,u,0>: Cost 2 vext3 RHS, <4,u,0,2>
     1577899822U, // <7,4,u,1>: Cost 2 vext2 <5,6,7,4>, LHS
     2712063489U, // <7,4,u,2>: Cost 3 vext3 RHS, <4,u,2,3>
     2573060846U, // <7,4,u,3>: Cost 3 vext1 <3,7,4,u>, <3,7,4,u>
     1640312342U, // <7,4,u,4>: Cost 2 vext3 RHS, <4,u,4,6>
     1638469146U, // <7,4,u,5>: Cost 2 vext3 RHS, <4,u,5,1>
     564579881U,  // <7,4,u,6>: Cost 1 vext3 RHS, RHS
-    2714054192U, // <7,4,u,7>: Cost 3 vext3 RHS, <4,u,7,5>
+    2847510057U, // <7,4,u,7>: Cost 3 vuzpr <4,7,5,4>, RHS
     564579899U,  // <7,4,u,u>: Cost 1 vext3 RHS, RHS
     2579038310U, // <7,5,0,0>: Cost 3 vext1 <4,7,5,0>, LHS
     2636382310U, // <7,5,0,1>: Cost 3 vext2 <3,1,7,5>, LHS
-    2796339302U, // <7,5,0,2>: Cost 3 vuzpl <7,4,5,6>, LHS
-    3646810719U, // <7,5,0,3>: Cost 4 vext1 <3,7,5,0>, <3,5,7,0>
+    1722597478U, // <7,5,0,2>: Cost 2 vuzpl <7,4,5,6>, LHS
+    3646810863U, // <7,5,0,3>: Cost 4 vext1 <3,7,5,0>, <3,7,5,0>
     2712063586U, // <7,5,0,4>: Cost 3 vext3 RHS, <5,0,4,1>
-    2735951467U, // <7,5,0,5>: Cost 3 vext3 RHS, <5,0,5,1>
-    2735951476U, // <7,5,0,6>: Cost 3 vext3 RHS, <5,0,6,1>
-    2579043322U, // <7,5,0,7>: Cost 3 vext1 <4,7,5,0>, <7,0,1,2>
-    2636382877U, // <7,5,0,u>: Cost 3 vext2 <3,1,7,5>, LHS
-    2712211087U, // <7,5,1,0>: Cost 3 vext3 RHS, <5,1,0,1>
-    3698180916U, // <7,5,1,1>: Cost 4 vext2 <1,1,7,5>, <1,1,1,1>
+    2987150554U, // <7,5,0,5>: Cost 3 vzipr <5,6,7,0>, <4,4,5,5>
+    2987149826U, // <7,5,0,6>: Cost 3 vzipr <5,6,7,0>, <3,4,5,6>
+    2974540800U, // <7,5,0,7>: Cost 3 vzipr <3,5,7,0>, <1,3,5,7>
+    1722597532U, // <7,5,0,u>: Cost 2 vuzpl <7,4,5,6>, LHS
+    2714054287U, // <7,5,1,0>: Cost 3 vext3 RHS, <5,1,0,1>
+    2249183358U, // <7,5,1,1>: Cost 3 vrev <5,7,1,1>
     3710124950U, // <7,5,1,2>: Cost 4 vext2 <3,1,7,5>, <1,2,3,0>
-    2636383232U, // <7,5,1,3>: Cost 3 vext2 <3,1,7,5>, <1,3,5,7>
-    2712211127U, // <7,5,1,4>: Cost 3 vext3 RHS, <5,1,4,5>
-    2590994128U, // <7,5,1,5>: Cost 3 vext1 <6,7,5,1>, <5,1,7,3>
+    1785643110U, // <7,5,1,3>: Cost 2 vuzpr <6,7,4,5>, LHS
+    2714054327U, // <7,5,1,4>: Cost 3 vext3 RHS, <5,1,4,5>
+    3127496708U, // <7,5,1,5>: Cost 3 vtrnr <6,7,0,1>, <5,5,5,5>
     2590995323U, // <7,5,1,6>: Cost 3 vext1 <6,7,5,1>, <6,7,5,1>
     1638469328U, // <7,5,1,7>: Cost 2 vext3 RHS, <5,1,7,3>
     1638469337U, // <7,5,1,u>: Cost 2 vext3 RHS, <5,1,u,3>
-    3785805536U, // <7,5,2,0>: Cost 4 vext3 RHS, <5,2,0,1>
-    3785805544U, // <7,5,2,1>: Cost 4 vext3 RHS, <5,2,1,0>
-    3704817288U, // <7,5,2,2>: Cost 4 vext2 <2,2,7,5>, <2,2,5,7>
+    2249117814U, // <7,5,2,0>: Cost 3 vrev <5,7,0,2>
+    2714054379U, // <7,5,2,1>: Cost 3 vext3 RHS, <5,2,1,3>
+    2249265288U, // <7,5,2,2>: Cost 3 vrev <5,7,2,2>
     2712063742U, // <7,5,2,3>: Cost 3 vext3 RHS, <5,2,3,4>
-    3716761386U, // <7,5,2,4>: Cost 4 vext2 <4,2,7,5>, <2,4,5,7>
+    2859385754U, // <7,5,2,4>: Cost 3 vuzpr <6,7,4,5>, <1,2,3,4>
     2714054415U, // <7,5,2,5>: Cost 3 vext3 RHS, <5,2,5,3>
-    3774304024U, // <7,5,2,6>: Cost 4 vext3 <2,6,3,7>, <5,2,6,3>
+    2712063768U, // <7,5,2,6>: Cost 3 vext3 RHS, <5,2,6,3>
     2712063777U, // <7,5,2,7>: Cost 3 vext3 RHS, <5,2,7,3>
-    2712063787U, // <7,5,2,u>: Cost 3 vext3 RHS, <5,2,u,4>
+    2712063786U, // <7,5,2,u>: Cost 3 vext3 RHS, <5,2,u,3>
     3634888806U, // <7,5,3,0>: Cost 4 vext1 <1,7,5,3>, LHS
-    2636384544U, // <7,5,3,1>: Cost 3 vext2 <3,1,7,5>, <3,1,7,5>
-    3710790001U, // <7,5,3,2>: Cost 4 vext2 <3,2,7,5>, <3,2,7,5>
-    3710126492U, // <7,5,3,3>: Cost 4 vext2 <3,1,7,5>, <3,3,3,3>
+    1175457920U, // <7,5,3,1>: Cost 2 vrev <5,7,1,3>
+    2249273481U, // <7,5,3,2>: Cost 3 vrev <5,7,2,3>
+    2249347218U, // <7,5,3,3>: Cost 3 vrev <5,7,3,3>
     3634892086U, // <7,5,3,4>: Cost 4 vext1 <1,7,5,3>, RHS
-    2639039076U, // <7,5,3,5>: Cost 3 vext2 <3,5,7,5>, <3,5,7,5>
-    3713444533U, // <7,5,3,6>: Cost 4 vext2 <3,6,7,5>, <3,6,7,5>
-    2693926767U, // <7,5,3,7>: Cost 3 vext3 <1,5,3,7>, <5,3,7,0>
-    2712063864U, // <7,5,3,u>: Cost 3 vext3 RHS, <5,3,u,0>
+    2983857370U, // <7,5,3,5>: Cost 3 vzipr <5,1,7,3>, <4,4,5,5>
+    2983856642U, // <7,5,3,6>: Cost 3 vzipr <5,1,7,3>, <3,4,5,6>
+    2047872310U, // <7,5,3,7>: Cost 2 vtrnr <5,7,1,3>, RHS
+    2047872311U, // <7,5,3,u>: Cost 2 vtrnr <5,7,1,3>, RHS
     2579071078U, // <7,5,4,0>: Cost 3 vext1 <4,7,5,4>, LHS
-    3646841856U, // <7,5,4,1>: Cost 4 vext1 <3,7,5,4>, <1,3,5,7>
-    3716762698U, // <7,5,4,2>: Cost 4 vext2 <4,2,7,5>, <4,2,7,5>
-    3646843491U, // <7,5,4,3>: Cost 4 vext1 <3,7,5,4>, <3,5,7,4>
-    2579074358U, // <7,5,4,4>: Cost 3 vext1 <4,7,5,4>, RHS
+    2987182994U, // <7,5,4,1>: Cost 3 vzipr <5,6,7,4>, <4,0,5,1>
+    2249281674U, // <7,5,4,2>: Cost 3 vrev <5,7,2,4>
+    3915216227U, // <7,5,4,3>: Cost 4 vuzpr <3,7,4,5>, <7,4,5,3>
+    2579074508U, // <7,5,4,4>: Cost 3 vext1 <4,7,5,4>, <4,7,5,4>
     2636385590U, // <7,5,4,5>: Cost 3 vext2 <3,1,7,5>, RHS
-    2645675406U, // <7,5,4,6>: Cost 3 vext2 <4,6,7,5>, <4,6,7,5>
+    1722600758U, // <7,5,4,6>: Cost 2 vuzpl <7,4,5,6>, RHS
     1638322118U, // <7,5,4,7>: Cost 2 vext3 RHS, <5,4,7,6>
     1638469583U, // <7,5,4,u>: Cost 2 vext3 RHS, <5,4,u,6>
     2714054611U, // <7,5,5,0>: Cost 3 vext3 RHS, <5,5,0,1>
-    2652974800U, // <7,5,5,1>: Cost 3 vext2 <5,u,7,5>, <5,1,7,3>
+    2714054620U, // <7,5,5,1>: Cost 3 vext3 RHS, <5,5,1,1>
     3710127905U, // <7,5,5,2>: Cost 4 vext2 <3,1,7,5>, <5,2,7,3>
-    3785805808U, // <7,5,5,3>: Cost 4 vext3 RHS, <5,5,3,3>
-    2712211450U, // <7,5,5,4>: Cost 3 vext3 RHS, <5,5,4,4>
+    2649657204U, // <7,5,5,3>: Cost 3 vext2 <5,3,7,5>, <5,3,7,5>
+    2714054651U, // <7,5,5,4>: Cost 3 vext3 RHS, <5,5,4,5>
     1638322180U, // <7,5,5,5>: Cost 2 vext3 RHS, <5,5,5,5>
     2712064014U, // <7,5,5,6>: Cost 3 vext3 RHS, <5,5,6,6>
     1638469656U, // <7,5,5,7>: Cost 2 vext3 RHS, <5,5,7,7>
     1638469665U, // <7,5,5,u>: Cost 2 vext3 RHS, <5,5,u,7>
     2712064036U, // <7,5,6,0>: Cost 3 vext3 RHS, <5,6,0,1>
     2714054707U, // <7,5,6,1>: Cost 3 vext3 RHS, <5,6,1,7>
-    3785805879U, // <7,5,6,2>: Cost 4 vext3 RHS, <5,6,2,2>
+    2249298060U, // <7,5,6,2>: Cost 3 vrev <5,7,2,6>
     2712064066U, // <7,5,6,3>: Cost 3 vext3 RHS, <5,6,3,4>
     2712064076U, // <7,5,6,4>: Cost 3 vext3 RHS, <5,6,4,5>
     2714054743U, // <7,5,6,5>: Cost 3 vext3 RHS, <5,6,5,7>
@@ -5595,21 +5593,21 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1638322274U, // <7,5,6,7>: Cost 2 vext3 RHS, <5,6,7,0>
     1638469739U, // <7,5,6,u>: Cost 2 vext3 RHS, <5,6,u,0>
     1511325798U, // <7,5,7,0>: Cost 2 vext1 <5,7,5,7>, LHS
-    2692747392U, // <7,5,7,1>: Cost 3 vext3 <1,3,5,7>, <5,7,1,3>
-    2585069160U, // <7,5,7,2>: Cost 3 vext1 <5,7,5,7>, <2,2,2,2>
+    1638469760U, // <7,5,7,1>: Cost 2 vext3 RHS, <5,7,1,3>
+    2712211590U, // <7,5,7,2>: Cost 3 vext3 RHS, <5,7,2,0>
     2573126390U, // <7,5,7,3>: Cost 3 vext1 <3,7,5,7>, <3,7,5,7>
     1511329078U, // <7,5,7,4>: Cost 2 vext1 <5,7,5,7>, RHS
     1638469800U, // <7,5,7,5>: Cost 2 vext3 RHS, <5,7,5,7>
     2712211626U, // <7,5,7,6>: Cost 3 vext3 RHS, <5,7,6,0>
-    2712211636U, // <7,5,7,7>: Cost 3 vext3 RHS, <5,7,7,1>
+    2048199990U, // <7,5,7,7>: Cost 2 vtrnr <5,7,5,7>, RHS
     1638469823U, // <7,5,7,u>: Cost 2 vext3 RHS, <5,7,u,3>
     1511333990U, // <7,5,u,0>: Cost 2 vext1 <5,7,5,u>, LHS
-    2636388142U, // <7,5,u,1>: Cost 3 vext2 <3,1,7,5>, LHS
-    2712211671U, // <7,5,u,2>: Cost 3 vext3 RHS, <5,u,2,0>
-    2573134583U, // <7,5,u,3>: Cost 3 vext1 <3,7,5,u>, <3,7,5,u>
+    1638469841U, // <7,5,u,1>: Cost 2 vext3 RHS, <5,u,1,3>
+    1722603310U, // <7,5,u,2>: Cost 2 vuzpl <7,4,5,6>, LHS
+    1785643677U, // <7,5,u,3>: Cost 2 vuzpr <6,7,4,5>, LHS
     1511337270U, // <7,5,u,4>: Cost 2 vext1 <5,7,5,u>, RHS
     1638469881U, // <7,5,u,5>: Cost 2 vext3 RHS, <5,u,5,7>
-    2712064258U, // <7,5,u,6>: Cost 3 vext3 RHS, <5,u,6,7>
+    1722603674U, // <7,5,u,6>: Cost 2 vuzpl <7,4,5,6>, RHS
     1638469892U, // <7,5,u,7>: Cost 2 vext3 RHS, <5,u,7,0>
     1638469904U, // <7,5,u,u>: Cost 2 vext3 RHS, <5,u,u,3>
     2650324992U, // <7,6,0,0>: Cost 3 vext2 <5,4,7,6>, <0,0,0,0>
@@ -5617,45 +5615,45 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2712064300U, // <7,6,0,2>: Cost 3 vext3 RHS, <6,0,2,4>
     2255295336U, // <7,6,0,3>: Cost 3 vrev <6,7,3,0>
     2712064316U, // <7,6,0,4>: Cost 3 vext3 RHS, <6,0,4,2>
-    2585088098U, // <7,6,0,5>: Cost 3 vext1 <5,7,6,0>, <5,6,7,0>
-    2735952204U, // <7,6,0,6>: Cost 3 vext3 RHS, <6,0,6,0>
-    2712211799U, // <7,6,0,7>: Cost 3 vext3 RHS, <6,0,7,2>
+    2987151292U, // <7,6,0,5>: Cost 3 vzipr <5,6,7,0>, <5,4,6,5>
+    2987150564U, // <7,6,0,6>: Cost 3 vzipr <5,6,7,0>, <4,4,6,6>
+    1913408822U, // <7,6,0,7>: Cost 2 vzipr <5,6,7,0>, RHS
     1576583837U, // <7,6,0,u>: Cost 2 vext2 <5,4,7,6>, LHS
     1181340494U, // <7,6,1,0>: Cost 2 vrev <6,7,0,1>
     2650325812U, // <7,6,1,1>: Cost 3 vext2 <5,4,7,6>, <1,1,1,1>
-    2650325910U, // <7,6,1,2>: Cost 3 vext2 <5,4,7,6>, <1,2,3,0>
-    2650325976U, // <7,6,1,3>: Cost 3 vext2 <5,4,7,6>, <1,3,1,3>
-    2579123510U, // <7,6,1,4>: Cost 3 vext1 <4,7,6,1>, RHS
+    2714055036U, // <7,6,1,2>: Cost 3 vext3 RHS, <6,1,2,3>
+    2841329766U, // <7,6,1,3>: Cost 3 vuzpr <3,7,2,6>, LHS
+    2579123666U, // <7,6,1,4>: Cost 3 vext1 <4,7,6,1>, <4,7,6,1>
     2650326160U, // <7,6,1,5>: Cost 3 vext2 <5,4,7,6>, <1,5,3,7>
     2714055072U, // <7,6,1,6>: Cost 3 vext3 RHS, <6,1,6,3>
-    2712064425U, // <7,6,1,7>: Cost 3 vext3 RHS, <6,1,7,3>
+    2974551350U, // <7,6,1,7>: Cost 3 vzipr <3,5,7,1>, RHS
     1181930390U, // <7,6,1,u>: Cost 2 vrev <6,7,u,1>
     2712211897U, // <7,6,2,0>: Cost 3 vext3 RHS, <6,2,0,1>
     2714055108U, // <7,6,2,1>: Cost 3 vext3 RHS, <6,2,1,3>
-    2650326632U, // <7,6,2,2>: Cost 3 vext2 <5,4,7,6>, <2,2,2,2>
+    2714055117U, // <7,6,2,2>: Cost 3 vext3 RHS, <6,2,2,3>
     2650326694U, // <7,6,2,3>: Cost 3 vext2 <5,4,7,6>, <2,3,0,1>
     2714055137U, // <7,6,2,4>: Cost 3 vext3 RHS, <6,2,4,5>
     2714055148U, // <7,6,2,5>: Cost 3 vext3 RHS, <6,2,5,7>
-    2650326970U, // <7,6,2,6>: Cost 3 vext2 <5,4,7,6>, <2,6,3,7>
+    2714055152U, // <7,6,2,6>: Cost 3 vext3 RHS, <6,2,6,2>
     1638470138U, // <7,6,2,7>: Cost 2 vext3 RHS, <6,2,7,3>
     1638470147U, // <7,6,2,u>: Cost 2 vext3 RHS, <6,2,u,3>
     2650327190U, // <7,6,3,0>: Cost 3 vext2 <5,4,7,6>, <3,0,1,2>
-    2255172441U, // <7,6,3,1>: Cost 3 vrev <6,7,1,3>
-    2255246178U, // <7,6,3,2>: Cost 3 vrev <6,7,2,3>
+    3121614200U, // <7,6,3,1>: Cost 3 vtrnr <5,7,1,3>, <4,6,5,1>
+    2983857052U, // <7,6,3,2>: Cost 3 vzipr <5,1,7,3>, <4,0,6,2>
     2650327452U, // <7,6,3,3>: Cost 3 vext2 <5,4,7,6>, <3,3,3,3>
     2712064562U, // <7,6,3,4>: Cost 3 vext3 RHS, <6,3,4,5>
     2650327627U, // <7,6,3,5>: Cost 3 vext2 <5,4,7,6>, <3,5,4,7>
-    3713452726U, // <7,6,3,6>: Cost 4 vext2 <3,6,7,6>, <3,6,7,6>
-    2700563016U, // <7,6,3,7>: Cost 3 vext3 <2,6,3,7>, <6,3,7,0>
-    2712064593U, // <7,6,3,u>: Cost 3 vext3 RHS, <6,3,u,0>
+    2983857380U, // <7,6,3,6>: Cost 3 vzipr <5,1,7,3>, <4,4,6,6>
+    1910115638U, // <7,6,3,7>: Cost 2 vzipr <5,1,7,3>, RHS
+    1910115639U, // <7,6,3,u>: Cost 2 vzipr <5,1,7,3>, RHS
     2650327954U, // <7,6,4,0>: Cost 3 vext2 <5,4,7,6>, <4,0,5,1>
     2735952486U, // <7,6,4,1>: Cost 3 vext3 RHS, <6,4,1,3>
-    2735952497U, // <7,6,4,2>: Cost 3 vext3 RHS, <6,4,2,5>
+    2714055276U, // <7,6,4,2>: Cost 3 vext3 RHS, <6,4,2,0>
     2255328108U, // <7,6,4,3>: Cost 3 vrev <6,7,3,4>
-    2712212100U, // <7,6,4,4>: Cost 3 vext3 RHS, <6,4,4,6>
+    2650328272U, // <7,6,4,4>: Cost 3 vext2 <5,4,7,6>, <4,4,4,4>
     1576586550U, // <7,6,4,5>: Cost 2 vext2 <5,4,7,6>, RHS
     2714055312U, // <7,6,4,6>: Cost 3 vext3 RHS, <6,4,6,0>
-    2712212126U, // <7,6,4,7>: Cost 3 vext3 RHS, <6,4,7,5>
+    1913441590U, // <7,6,4,7>: Cost 2 vzipr <5,6,7,4>, RHS
     1576586793U, // <7,6,4,u>: Cost 2 vext2 <5,4,7,6>, RHS
     2579152998U, // <7,6,5,0>: Cost 3 vext1 <4,7,6,5>, LHS
     2650328784U, // <7,6,5,1>: Cost 3 vext2 <5,4,7,6>, <5,1,7,3>
@@ -5663,14 +5661,14 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     3785806538U, // <7,6,5,3>: Cost 4 vext3 RHS, <6,5,3,4>
     1576587206U, // <7,6,5,4>: Cost 2 vext2 <5,4,7,6>, <5,4,7,6>
     2650329092U, // <7,6,5,5>: Cost 3 vext2 <5,4,7,6>, <5,5,5,5>
-    2650329186U, // <7,6,5,6>: Cost 3 vext2 <5,4,7,6>, <5,6,7,0>
-    2712064753U, // <7,6,5,7>: Cost 3 vext3 RHS, <6,5,7,7>
+    2714055400U, // <7,6,5,6>: Cost 3 vext3 RHS, <6,5,6,7>
+    2971929910U, // <7,6,5,7>: Cost 3 vzipr <3,1,7,5>, RHS
     1181963162U, // <7,6,5,u>: Cost 2 vrev <6,7,u,5>
     2714055421U, // <7,6,6,0>: Cost 3 vext3 RHS, <6,6,0,1>
     2714055432U, // <7,6,6,1>: Cost 3 vext3 RHS, <6,6,1,3>
-    2650329594U, // <7,6,6,2>: Cost 3 vext2 <5,4,7,6>, <6,2,7,3>
-    3785806619U, // <7,6,6,3>: Cost 4 vext3 RHS, <6,6,3,4>
-    2712212260U, // <7,6,6,4>: Cost 3 vext3 RHS, <6,6,4,4>
+    2712212245U, // <7,6,6,2>: Cost 3 vext3 RHS, <6,6,2,7>
+    3915077089U, // <7,6,6,3>: Cost 4 vuzpr <3,7,2,6>, <7,6,1,3>
+    2714055461U, // <7,6,6,4>: Cost 3 vext3 RHS, <6,6,4,5>
     2714055472U, // <7,6,6,5>: Cost 3 vext3 RHS, <6,6,5,7>
     1638323000U, // <7,6,6,6>: Cost 2 vext3 RHS, <6,6,6,6>
     1638470466U, // <7,6,6,7>: Cost 2 vext3 RHS, <6,6,7,7>
@@ -5681,107 +5679,107 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2712064872U, // <7,6,7,3>: Cost 3 vext3 RHS, <6,7,3,0>
     1638323062U, // <7,6,7,4>: Cost 2 vext3 RHS, <6,7,4,5>
     2712064894U, // <7,6,7,5>: Cost 3 vext3 RHS, <6,7,5,4>
-    2712064905U, // <7,6,7,6>: Cost 3 vext3 RHS, <6,7,6,6>
-    2712064915U, // <7,6,7,7>: Cost 3 vext3 RHS, <6,7,7,7>
+    2841332442U, // <7,6,7,6>: Cost 3 vuzpr <3,7,2,6>, <3,7,2,6>
+    1912802614U, // <7,6,7,7>: Cost 2 vzipr <5,5,7,7>, RHS
     1638323094U, // <7,6,7,u>: Cost 2 vext3 RHS, <6,7,u,1>
     1638470559U, // <7,6,u,0>: Cost 2 vext3 RHS, <6,u,0,1>
     1576589102U, // <7,6,u,1>: Cost 2 vext2 <5,4,7,6>, LHS
     2712212402U, // <7,6,u,2>: Cost 3 vext3 RHS, <6,u,2,2>
-    2712212409U, // <7,6,u,3>: Cost 3 vext3 RHS, <6,u,3,0>
+    2841330333U, // <7,6,u,3>: Cost 3 vuzpr <3,7,2,6>, LHS
     1638470599U, // <7,6,u,4>: Cost 2 vext3 RHS, <6,u,4,5>
     1576589466U, // <7,6,u,5>: Cost 2 vext2 <5,4,7,6>, RHS
     1638323000U, // <7,6,u,6>: Cost 2 vext3 RHS, <6,6,6,6>
     1638470624U, // <7,6,u,7>: Cost 2 vext3 RHS, <6,u,7,3>
     1638470631U, // <7,6,u,u>: Cost 2 vext3 RHS, <6,u,u,1>
-    2712065007U, // <7,7,0,0>: Cost 3 vext3 RHS, <7,0,0,0>
+    1913409634U, // <7,7,0,0>: Cost 2 vzipr <5,6,7,0>, <5,6,7,0>
     1638323194U, // <7,7,0,1>: Cost 2 vext3 RHS, <7,0,1,2>
-    2712065025U, // <7,7,0,2>: Cost 3 vext3 RHS, <7,0,2,0>
-    3646958337U, // <7,7,0,3>: Cost 4 vext1 <3,7,7,0>, <3,7,7,0>
+    1724743782U, // <7,7,0,2>: Cost 2 vuzpl <7,7,7,7>, LHS
+    2987151056U, // <7,7,0,3>: Cost 3 vzipr <5,6,7,0>, <5,1,7,3>
     2712065044U, // <7,7,0,4>: Cost 3 vext3 RHS, <7,0,4,1>
     2585161907U, // <7,7,0,5>: Cost 3 vext1 <5,7,7,0>, <5,7,7,0>
-    2591134604U, // <7,7,0,6>: Cost 3 vext1 <6,7,7,0>, <6,7,7,0>
-    2591134714U, // <7,7,0,7>: Cost 3 vext1 <6,7,7,0>, <7,0,1,2>
+    2987151302U, // <7,7,0,6>: Cost 3 vzipr <5,6,7,0>, <5,4,7,6>
+    2987151384U, // <7,7,0,7>: Cost 3 vzipr <5,6,7,0>, <5,5,7,7>
     1638323257U, // <7,7,0,u>: Cost 2 vext3 RHS, <7,0,u,2>
     2712065091U, // <7,7,1,0>: Cost 3 vext3 RHS, <7,1,0,3>
-    2712065098U, // <7,7,1,1>: Cost 3 vext3 RHS, <7,1,1,1>
+    2053755726U, // <7,7,1,1>: Cost 2 vtrnr <6,7,0,1>, <6,7,0,1>
     2712065109U, // <7,7,1,2>: Cost 3 vext3 RHS, <7,1,2,3>
-    2692748384U, // <7,7,1,3>: Cost 3 vext3 <1,3,5,7>, <7,1,3,5>
+    1779761254U, // <7,7,1,3>: Cost 2 vuzpr <5,7,5,7>, LHS
     2585169206U, // <7,7,1,4>: Cost 3 vext1 <5,7,7,1>, RHS
     2693928048U, // <7,7,1,5>: Cost 3 vext3 <1,5,3,7>, <7,1,5,3>
     2585170766U, // <7,7,1,6>: Cost 3 vext1 <5,7,7,1>, <6,7,0,1>
-    2735953024U, // <7,7,1,7>: Cost 3 vext3 RHS, <7,1,7,1>
-    2695918731U, // <7,7,1,u>: Cost 3 vext3 <1,u,3,7>, <7,1,u,3>
-    3770471574U, // <7,7,2,0>: Cost 4 vext3 <2,0,5,7>, <7,2,0,5>
+    3127496872U, // <7,7,1,7>: Cost 3 vtrnr <6,7,0,1>, <5,7,5,7>
+    1779761259U, // <7,7,1,u>: Cost 2 vuzpr <5,7,5,7>, LHS
+    2853503894U, // <7,7,2,0>: Cost 3 vuzpr <5,7,5,7>, <1,2,3,0>
     3785807002U, // <7,7,2,1>: Cost 4 vext3 RHS, <7,2,1,0>
     2712065189U, // <7,7,2,2>: Cost 3 vext3 RHS, <7,2,2,2>
     2712065196U, // <7,7,2,3>: Cost 3 vext3 RHS, <7,2,3,0>
-    3773125818U, // <7,7,2,4>: Cost 4 vext3 <2,4,5,7>, <7,2,4,5>
+    2853503898U, // <7,7,2,4>: Cost 3 vuzpr <5,7,5,7>, <1,2,3,4>
     3766490305U, // <7,7,2,5>: Cost 4 vext3 <1,3,5,7>, <7,2,5,3>
     2700563658U, // <7,7,2,6>: Cost 3 vext3 <2,6,3,7>, <7,2,6,3>
-    2735953107U, // <7,7,2,7>: Cost 3 vext3 RHS, <7,2,7,3>
+    3134068332U, // <7,7,2,7>: Cost 3 vtrnr <7,7,u,2>, <7,7,7,7>
     2701890780U, // <7,7,2,u>: Cost 3 vext3 <2,u,3,7>, <7,2,u,3>
     2712065251U, // <7,7,3,0>: Cost 3 vext3 RHS, <7,3,0,1>
-    3766490350U, // <7,7,3,1>: Cost 4 vext3 <1,3,5,7>, <7,3,1,3>
+    3121615694U, // <7,7,3,1>: Cost 3 vtrnr <5,7,1,3>, <6,7,0,1>
     3774305530U, // <7,7,3,2>: Cost 4 vext3 <2,6,3,7>, <7,3,2,6>
-    2637728196U, // <7,7,3,3>: Cost 3 vext2 <3,3,7,7>, <3,3,7,7>
+    1910116048U, // <7,7,3,3>: Cost 2 vzipr <5,1,7,3>, <5,1,7,3>
     2712065291U, // <7,7,3,4>: Cost 3 vext3 RHS, <7,3,4,5>
-    2585186486U, // <7,7,3,5>: Cost 3 vext1 <5,7,7,3>, <5,7,7,3>
+    2639055462U, // <7,7,3,5>: Cost 3 vext2 <3,5,7,7>, <3,5,7,7>
     2639719095U, // <7,7,3,6>: Cost 3 vext2 <3,6,7,7>, <3,6,7,7>
-    2640382728U, // <7,7,3,7>: Cost 3 vext2 <3,7,7,7>, <3,7,7,7>
-    2641046361U, // <7,7,3,u>: Cost 3 vext2 <3,u,7,7>, <3,u,7,7>
+    2841412608U, // <7,7,3,7>: Cost 3 vuzpr <3,7,3,7>, <1,3,5,7>
+    1910116048U, // <7,7,3,u>: Cost 2 vzipr <5,1,7,3>, <5,1,7,3>
     2712212792U, // <7,7,4,0>: Cost 3 vext3 RHS, <7,4,0,5>
-    3646989312U, // <7,7,4,1>: Cost 4 vext1 <3,7,7,4>, <1,3,5,7>
-    3785807176U, // <7,7,4,2>: Cost 4 vext3 RHS, <7,4,2,3>
-    3646991109U, // <7,7,4,3>: Cost 4 vext1 <3,7,7,4>, <3,7,7,4>
-    2712065371U, // <7,7,4,4>: Cost 3 vext3 RHS, <7,4,4,4>
+    3062715386U, // <7,7,4,1>: Cost 3 vtrnl <7,1,4,6>, <7,0,1,2>
+    3785807178U, // <7,7,4,2>: Cost 4 vext3 RHS, <7,4,2,5>
+    2987183824U, // <7,7,4,3>: Cost 3 vzipr <5,6,7,4>, <5,1,7,3>
+    1913442406U, // <7,7,4,4>: Cost 2 vzipr <5,6,7,4>, <5,6,7,4>
     1638323558U, // <7,7,4,5>: Cost 2 vext3 RHS, <7,4,5,6>
-    2712212845U, // <7,7,4,6>: Cost 3 vext3 RHS, <7,4,6,4>
-    2591167846U, // <7,7,4,7>: Cost 3 vext1 <6,7,7,4>, <7,4,5,6>
+    1724747062U, // <7,7,4,6>: Cost 2 vuzpl <7,7,7,7>, RHS
+    2987184152U, // <7,7,4,7>: Cost 3 vzipr <5,6,7,4>, <5,5,7,7>
     1638323585U, // <7,7,4,u>: Cost 2 vext3 RHS, <7,4,u,6>
-    2585198694U, // <7,7,5,0>: Cost 3 vext1 <5,7,7,5>, LHS
+    2853508547U, // <7,7,5,0>: Cost 3 vuzpr <5,7,5,7>, <7,5,7,0>
     2712212884U, // <7,7,5,1>: Cost 3 vext3 RHS, <7,5,1,7>
     3711471393U, // <7,7,5,2>: Cost 4 vext2 <3,3,7,7>, <5,2,7,3>
     2649673590U, // <7,7,5,3>: Cost 3 vext2 <5,3,7,7>, <5,3,7,7>
     2712065455U, // <7,7,5,4>: Cost 3 vext3 RHS, <7,5,4,7>
     1577259032U, // <7,7,5,5>: Cost 2 vext2 <5,5,7,7>, <5,5,7,7>
     2712065473U, // <7,7,5,6>: Cost 3 vext3 RHS, <7,5,6,7>
-    2712212936U, // <7,7,5,7>: Cost 3 vext3 RHS, <7,5,7,5>
-    1579249931U, // <7,7,5,u>: Cost 2 vext2 <5,u,7,7>, <5,u,7,7>
-    2591178854U, // <7,7,6,0>: Cost 3 vext1 <6,7,7,6>, LHS
+    1779764534U, // <7,7,5,7>: Cost 2 vuzpr <5,7,5,7>, RHS
+    1779764535U, // <7,7,5,u>: Cost 2 vuzpr <5,7,5,7>, RHS
+    2985873506U, // <7,7,6,0>: Cost 3 vzipr <5,4,7,6>, <5,6,7,0>
     2735953374U, // <7,7,6,1>: Cost 3 vext3 RHS, <7,6,1,0>
     2712212974U, // <7,7,6,2>: Cost 3 vext3 RHS, <7,6,2,7>
-    2655646287U, // <7,7,6,3>: Cost 3 vext2 <6,3,7,7>, <6,3,7,7>
-    2591182134U, // <7,7,6,4>: Cost 3 vext1 <6,7,7,6>, RHS
-    2656973553U, // <7,7,6,5>: Cost 3 vext2 <6,5,7,7>, <6,5,7,7>
-    1583895362U, // <7,7,6,6>: Cost 2 vext2 <6,6,7,7>, <6,6,7,7>
+    2985873104U, // <7,7,6,3>: Cost 3 vzipr <5,4,7,6>, <5,1,7,3>
+    2985873510U, // <7,7,6,4>: Cost 3 vzipr <5,4,7,6>, <5,6,7,4>
+    2985873511U, // <7,7,6,5>: Cost 3 vzipr <5,4,7,6>, <5,6,7,5>
+    1912131526U, // <7,7,6,6>: Cost 2 vzipr <5,4,7,6>, <5,4,7,6>
     2712065556U, // <7,7,6,7>: Cost 3 vext3 RHS, <7,6,7,0>
     1585222628U, // <7,7,6,u>: Cost 2 vext2 <6,u,7,7>, <6,u,7,7>
     1523417190U, // <7,7,7,0>: Cost 2 vext1 <7,7,7,7>, LHS
-    2597159670U, // <7,7,7,1>: Cost 3 vext1 <7,7,7,7>, <1,0,3,2>
+    2853507918U, // <7,7,7,1>: Cost 3 vuzpr <5,7,5,7>, <6,7,0,1>
     2597160552U, // <7,7,7,2>: Cost 3 vext1 <7,7,7,7>, <2,2,2,2>
-    2597161110U, // <7,7,7,3>: Cost 3 vext1 <7,7,7,7>, <3,0,1,2>
+    2986544848U, // <7,7,7,3>: Cost 3 vzipr <5,5,7,7>, <5,1,7,3>
     1523420470U, // <7,7,7,4>: Cost 2 vext1 <7,7,7,7>, RHS
     2651002296U, // <7,7,7,5>: Cost 3 vext2 <5,5,7,7>, <7,5,5,7>
-    2657637906U, // <7,7,7,6>: Cost 3 vext2 <6,6,7,7>, <7,6,6,7>
+    2986545094U, // <7,7,7,6>: Cost 3 vzipr <5,5,7,7>, <5,4,7,6>
     363253046U,  // <7,7,7,7>: Cost 1 vdup3 RHS
     363253046U,  // <7,7,7,u>: Cost 1 vdup3 RHS
-    1523417190U, // <7,7,u,0>: Cost 2 vext1 <7,7,7,7>, LHS
+    1913409634U, // <7,7,u,0>: Cost 2 vzipr <5,6,7,0>, <5,6,7,0>
     1638471298U, // <7,7,u,1>: Cost 2 vext3 RHS, <7,u,1,2>
-    2712213132U, // <7,7,u,2>: Cost 3 vext3 RHS, <7,u,2,3>
-    2712213138U, // <7,7,u,3>: Cost 3 vext3 RHS, <7,u,3,0>
-    1523420470U, // <7,7,u,4>: Cost 2 vext1 <7,7,7,7>, RHS
+    1724749614U, // <7,7,u,2>: Cost 2 vuzpl <7,7,7,7>, LHS
+    1779761821U, // <7,7,u,3>: Cost 2 vuzpr <5,7,5,7>, LHS
+    1913442406U, // <7,7,u,4>: Cost 2 vzipr <5,6,7,4>, <5,6,7,4>
     1638471338U, // <7,7,u,5>: Cost 2 vext3 RHS, <7,u,5,6>
-    1595840756U, // <7,7,u,6>: Cost 2 vext2 <u,6,7,7>, <u,6,7,7>
+    1724749978U, // <7,7,u,6>: Cost 2 vuzpl <7,7,7,7>, RHS
     363253046U,  // <7,7,u,7>: Cost 1 vdup3 RHS
     363253046U,  // <7,7,u,u>: Cost 1 vdup3 RHS
     1638318080U, // <7,u,0,0>: Cost 2 vext3 RHS, <0,0,0,0>
     1638323923U, // <7,u,0,1>: Cost 2 vext3 RHS, <u,0,1,2>
-    1662211804U, // <7,u,0,2>: Cost 2 vext3 RHS, <u,0,2,2>
+    1720131686U, // <7,u,0,2>: Cost 2 vuzpl <7,0,u,2>, LHS
     1638323941U, // <7,u,0,3>: Cost 2 vext3 RHS, <u,0,3,2>
     2712065773U, // <7,u,0,4>: Cost 3 vext3 RHS, <u,0,4,1>
-    1662359286U, // <7,u,0,5>: Cost 2 vext3 RHS, <u,0,5,1>
+    1853839514U, // <7,u,0,5>: Cost 2 vzipl <7,0,1,2>, RHS
     1662359296U, // <7,u,0,6>: Cost 2 vext3 RHS, <u,0,6,2>
-    2987150664U, // <7,u,0,7>: Cost 3 vzipr <5,6,7,0>, RHS
+    1913408840U, // <7,u,0,7>: Cost 2 vzipr <5,6,7,0>, RHS
     1638323986U, // <7,u,0,u>: Cost 2 vext3 RHS, <u,0,u,2>
     1517469798U, // <7,u,1,0>: Cost 2 vext1 <6,7,u,1>, LHS
     1638318900U, // <7,u,1,1>: Cost 2 vext3 RHS, <1,1,1,1>
@@ -5792,58 +5790,58 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1517474710U, // <7,u,1,6>: Cost 2 vext1 <6,7,u,1>, <6,7,u,1>
     1640462171U, // <7,u,1,7>: Cost 2 vext3 RHS, <u,1,7,3>
     564582244U,  // <7,u,1,u>: Cost 1 vext3 RHS, LHS
-    1638318244U, // <7,u,2,0>: Cost 2 vext3 RHS, <0,2,0,2>
+    1662211948U, // <7,u,2,0>: Cost 2 vext3 RHS, <u,2,0,2>
     2712065907U, // <7,u,2,1>: Cost 3 vext3 RHS, <u,2,1,0>
     1638319720U, // <7,u,2,2>: Cost 2 vext3 RHS, <2,2,2,2>
     1638324101U, // <7,u,2,3>: Cost 2 vext3 RHS, <u,2,3,0>
-    1638318284U, // <7,u,2,4>: Cost 2 vext3 RHS, <0,2,4,6>
-    2712065947U, // <7,u,2,5>: Cost 3 vext3 RHS, <u,2,5,4>
+    1662211988U, // <7,u,2,4>: Cost 2 vext3 RHS, <u,2,4,6>
+    2712065946U, // <7,u,2,5>: Cost 3 vext3 RHS, <u,2,5,3>
     2700564387U, // <7,u,2,6>: Cost 3 vext3 <2,6,3,7>, <u,2,6,3>
     1640314796U, // <7,u,2,7>: Cost 2 vext3 RHS, <u,2,7,3>
     1638324146U, // <7,u,2,u>: Cost 2 vext3 RHS, <u,2,u,0>
     1638324156U, // <7,u,3,0>: Cost 2 vext3 RHS, <u,3,0,1>
-    1638319064U, // <7,u,3,1>: Cost 2 vext3 RHS, <1,3,1,3>
+    1638324167U, // <7,u,3,1>: Cost 2 vext3 RHS, <u,3,1,3>
     2700564435U, // <7,u,3,2>: Cost 3 vext3 <2,6,3,7>, <u,3,2,6>
-    1638320540U, // <7,u,3,3>: Cost 2 vext3 RHS, <3,3,3,3>
+    1910112412U, // <7,u,3,3>: Cost 2 vzipr <5,1,7,3>, LHS
     1638324196U, // <7,u,3,4>: Cost 2 vext3 RHS, <u,3,4,5>
     1638324207U, // <7,u,3,5>: Cost 2 vext3 RHS, <u,3,5,7>
     2700564472U, // <7,u,3,6>: Cost 3 vext3 <2,6,3,7>, <u,3,6,7>
-    2695919610U, // <7,u,3,7>: Cost 3 vext3 <1,u,3,7>, <u,3,7,0>
+    1910115656U, // <7,u,3,7>: Cost 2 vzipr <5,1,7,3>, RHS
     1638324228U, // <7,u,3,u>: Cost 2 vext3 RHS, <u,3,u,1>
     2712066061U, // <7,u,4,0>: Cost 3 vext3 RHS, <u,4,0,1>
-    1662212122U, // <7,u,4,1>: Cost 2 vext3 RHS, <u,4,1,5>
+    1856821038U, // <7,u,4,1>: Cost 2 vzipl <7,4,5,6>, LHS
     1662212132U, // <7,u,4,2>: Cost 2 vext3 RHS, <u,4,2,6>
-    2712066092U, // <7,u,4,3>: Cost 3 vext3 RHS, <u,4,3,5>
+    1913438364U, // <7,u,4,3>: Cost 2 vzipr <5,6,7,4>, LHS
     1638321360U, // <7,u,4,4>: Cost 2 vext3 RHS, <4,4,4,4>
     1638324287U, // <7,u,4,5>: Cost 2 vext3 RHS, <u,4,5,6>
-    1662359624U, // <7,u,4,6>: Cost 2 vext3 RHS, <u,4,6,6>
+    1720134966U, // <7,u,4,6>: Cost 2 vuzpl <7,0,u,2>, RHS
     1640314961U, // <7,u,4,7>: Cost 2 vext3 RHS, <u,4,7,6>
     1638324314U, // <7,u,4,u>: Cost 2 vext3 RHS, <u,4,u,6>
     1517502566U, // <7,u,5,0>: Cost 2 vext1 <6,7,u,5>, LHS
     1574612693U, // <7,u,5,1>: Cost 2 vext2 <5,1,7,u>, <5,1,7,u>
-    2712066162U, // <7,u,5,2>: Cost 3 vext3 RHS, <u,5,2,3>
+    1991038766U, // <7,u,5,2>: Cost 2 vtrnl <7,4,5,6>, LHS
     1638324351U, // <7,u,5,3>: Cost 2 vext3 RHS, <u,5,3,7>
     1576603592U, // <7,u,5,4>: Cost 2 vext2 <5,4,7,u>, <5,4,7,u>
     1577267225U, // <7,u,5,5>: Cost 2 vext2 <5,5,7,u>, <5,5,7,u>
     564582554U,  // <7,u,5,6>: Cost 1 vext3 RHS, RHS
     1640462499U, // <7,u,5,7>: Cost 2 vext3 RHS, <u,5,7,7>
     564582572U,  // <7,u,5,u>: Cost 1 vext3 RHS, RHS
-    2712066223U, // <7,u,6,0>: Cost 3 vext3 RHS, <u,6,0,1>
-    2712066238U, // <7,u,6,1>: Cost 3 vext3 RHS, <u,6,1,7>
+    1662359728U, // <7,u,6,0>: Cost 2 vext3 RHS, <u,6,0,2>
+    2712066234U, // <7,u,6,1>: Cost 3 vext3 RHS, <u,6,1,3>
     1581249023U, // <7,u,6,2>: Cost 2 vext2 <6,2,7,u>, <6,2,7,u>
     1638324432U, // <7,u,6,3>: Cost 2 vext3 RHS, <u,6,3,7>
-    1638468980U, // <7,u,6,4>: Cost 2 vext3 RHS, <4,6,4,6>
+    1662359768U, // <7,u,6,4>: Cost 2 vext3 RHS, <u,6,4,6>
     2712066274U, // <7,u,6,5>: Cost 3 vext3 RHS, <u,6,5,7>
     1583903555U, // <7,u,6,6>: Cost 2 vext2 <6,6,7,u>, <6,6,7,u>
     1640315117U, // <7,u,6,7>: Cost 2 vext3 RHS, <u,6,7,0>
     1638324477U, // <7,u,6,u>: Cost 2 vext3 RHS, <u,6,u,7>
     1638471936U, // <7,u,7,0>: Cost 2 vext3 RHS, <u,7,0,1>
-    2692970763U, // <7,u,7,1>: Cost 3 vext3 <1,3,u,7>, <u,7,1,3>
-    2700933399U, // <7,u,7,2>: Cost 3 vext3 <2,6,u,7>, <u,7,2,6>
-    2573347601U, // <7,u,7,3>: Cost 3 vext1 <3,7,u,7>, <3,7,u,7>
+    1640462603U, // <7,u,7,1>: Cost 2 vext3 RHS, <u,7,1,3>
+    1993185070U, // <7,u,7,2>: Cost 2 vtrnl <7,7,7,7>, LHS
+    1912799388U, // <7,u,7,3>: Cost 2 vzipr <5,5,7,7>, LHS
     1638471976U, // <7,u,7,4>: Cost 2 vext3 RHS, <u,7,4,5>
-    1511551171U, // <7,u,7,5>: Cost 2 vext1 <5,7,u,7>, <5,7,u,7>
-    2712213815U, // <7,u,7,6>: Cost 3 vext3 RHS, <u,7,6,2>
+    1640462643U, // <7,u,7,5>: Cost 2 vext3 RHS, <u,7,5,7>
+    1993185434U, // <7,u,7,6>: Cost 2 vtrnl <7,7,7,7>, RHS
     363253046U,  // <7,u,7,7>: Cost 1 vdup3 RHS
     363253046U,  // <7,u,7,u>: Cost 1 vdup3 RHS
     1638324561U, // <7,u,u,0>: Cost 2 vext3 RHS, <u,u,0,1>
@@ -5858,469 +5856,469 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     135053414U,  // <u,0,0,0>: Cost 1 vdup0 LHS
     1611489290U, // <u,0,0,1>: Cost 2 vext3 LHS, <0,0,1,1>
     1611489300U, // <u,0,0,2>: Cost 2 vext3 LHS, <0,0,2,2>
-    2568054923U, // <u,0,0,3>: Cost 3 vext1 <3,0,0,0>, <3,0,0,0>
+    2960684909U, // <u,0,0,3>: Cost 3 vzipr <1,2,u,0>, <u,2,0,3>
     1481706806U, // <u,0,0,4>: Cost 2 vext1 <0,u,0,0>, RHS
-    2555449040U, // <u,0,0,5>: Cost 3 vext1 <0,u,0,0>, <5,1,7,3>
+    2987226019U, // <u,0,0,5>: Cost 3 vzipr <5,6,u,0>, <6,u,0,5>
     2591282078U, // <u,0,0,6>: Cost 3 vext1 <6,u,0,0>, <6,u,0,0>
-    2591945711U, // <u,0,0,7>: Cost 3 vext1 <7,0,0,0>, <7,0,0,0>
+    2960685237U, // <u,0,0,7>: Cost 3 vzipr <1,2,u,0>, <u,6,0,7>
     135053414U,  // <u,0,0,u>: Cost 1 vdup0 LHS
     1493655654U, // <u,0,1,0>: Cost 2 vext1 <2,u,0,1>, LHS
-    1860550758U, // <u,0,1,1>: Cost 2 vzipl LHS, LHS
+    786808934U,  // <u,0,1,1>: Cost 1 vzipl LHS, LHS
     537747563U,  // <u,0,1,2>: Cost 1 vext3 LHS, LHS
-    2625135576U, // <u,0,1,3>: Cost 3 vext2 <1,2,u,0>, <1,3,1,3>
+    1756332134U, // <u,0,1,3>: Cost 2 vuzpr <1,u,3,0>, LHS
     1493658934U, // <u,0,1,4>: Cost 2 vext1 <2,u,0,1>, RHS
     2625135760U, // <u,0,1,5>: Cost 3 vext2 <1,2,u,0>, <1,5,3,7>
     1517548447U, // <u,0,1,6>: Cost 2 vext1 <6,u,0,1>, <6,u,0,1>
     2591290362U, // <u,0,1,7>: Cost 3 vext1 <6,u,0,1>, <7,0,1,2>
     537747612U,  // <u,0,1,u>: Cost 1 vext3 LHS, LHS
     1611489444U, // <u,0,2,0>: Cost 2 vext3 LHS, <0,2,0,2>
-    2685231276U, // <u,0,2,1>: Cost 3 vext3 LHS, <0,2,1,1>
-    1994768486U, // <u,0,2,2>: Cost 2 vtrnl LHS, LHS
+    1994768394U, // <u,0,2,1>: Cost 2 vtrnl LHS, <0,0,1,1>
+    921026662U,  // <u,0,2,2>: Cost 1 vtrnl LHS, LHS
     2685231294U, // <u,0,2,3>: Cost 3 vext3 LHS, <0,2,3,1>
     1611489484U, // <u,0,2,4>: Cost 2 vext3 LHS, <0,2,4,6>
     2712068310U, // <u,0,2,5>: Cost 3 vext3 RHS, <0,2,5,7>
     2625136570U, // <u,0,2,6>: Cost 3 vext2 <1,2,u,0>, <2,6,3,7>
-    2591962097U, // <u,0,2,7>: Cost 3 vext1 <7,0,0,2>, <7,0,0,2>
-    1611489516U, // <u,0,2,u>: Cost 2 vext3 LHS, <0,2,u,2>
-    2954067968U, // <u,0,3,0>: Cost 3 vzipr LHS, <0,0,0,0>
-    2685231356U, // <u,0,3,1>: Cost 3 vext3 LHS, <0,3,1,0>
+    2579354618U, // <u,0,2,7>: Cost 3 vext1 <4,u,0,2>, <7,0,1,2>
+    921026716U,  // <u,0,2,u>: Cost 1 vtrnl LHS, LHS
+    1880326144U, // <u,0,3,0>: Cost 2 vzipr LHS, <0,0,0,0>
+    1880327846U, // <u,0,3,1>: Cost 2 vzipr LHS, <2,3,0,1>
     72589981U,   // <u,0,3,2>: Cost 1 vrev LHS
-    2625137052U, // <u,0,3,3>: Cost 3 vext2 <1,2,u,0>, <3,3,3,3>
-    2625137154U, // <u,0,3,4>: Cost 3 vext2 <1,2,u,0>, <3,4,5,6>
-    2639071848U, // <u,0,3,5>: Cost 3 vext2 <3,5,u,0>, <3,5,u,0>
-    2639735481U, // <u,0,3,6>: Cost 3 vext2 <3,6,u,0>, <3,6,u,0>
-    2597279354U, // <u,0,3,7>: Cost 3 vext1 <7,u,0,3>, <7,u,0,3>
+    2954070239U, // <u,0,3,3>: Cost 3 vzipr LHS, <3,1,0,3>
+    2954068134U, // <u,0,3,4>: Cost 3 vzipr LHS, <0,2,0,4>
+    2830075598U, // <u,0,3,5>: Cost 3 vuzpr <1,u,3,0>, <2,3,4,5>
+    3092488234U, // <u,0,3,6>: Cost 3 vtrnr LHS, <0,0,4,6>
+    2830074880U, // <u,0,3,7>: Cost 3 vuzpr <1,u,3,0>, <1,3,5,7>
     73032403U,   // <u,0,3,u>: Cost 1 vrev LHS
-    2687074636U, // <u,0,4,0>: Cost 3 vext3 <0,4,0,u>, <0,4,0,u>
+    1705610572U, // <u,0,4,0>: Cost 2 vuzpl <4,6,0,2>, <4,6,0,2>
     1611489618U, // <u,0,4,1>: Cost 2 vext3 LHS, <0,4,1,5>
     1611489628U, // <u,0,4,2>: Cost 2 vext3 LHS, <0,4,2,6>
-    3629222038U, // <u,0,4,3>: Cost 4 vext1 <0,u,0,4>, <3,0,1,2>
-    2555481398U, // <u,0,4,4>: Cost 3 vext1 <0,u,0,4>, RHS
+    2906669312U, // <u,0,4,3>: Cost 3 vzipl <3,4,5,6>, <0,3,1,4>
+    1947828428U, // <u,0,4,4>: Cost 2 vtrnl <0,2,4,6>, <0,2,4,6>
     1551396150U, // <u,0,4,5>: Cost 2 vext2 <1,2,u,0>, RHS
-    2651680116U, // <u,0,4,6>: Cost 3 vext2 <5,6,u,0>, <4,6,4,6>
+    1726844214U, // <u,0,4,6>: Cost 2 vuzpl <u,2,0,2>, RHS
     2646150600U, // <u,0,4,7>: Cost 3 vext2 <4,7,5,0>, <4,7,5,0>
     1611932050U, // <u,0,4,u>: Cost 2 vext3 LHS, <0,4,u,6>
-    2561458278U, // <u,0,5,0>: Cost 3 vext1 <1,u,0,5>, LHS
-    1863532646U, // <u,0,5,1>: Cost 2 vzipl RHS, LHS
-    2712068526U, // <u,0,5,2>: Cost 3 vext3 RHS, <0,5,2,7>
-    2649689976U, // <u,0,5,3>: Cost 3 vext2 <5,3,u,0>, <5,3,u,0>
-    2220237489U, // <u,0,5,4>: Cost 3 vrev <0,u,4,5>
+    1863532544U, // <u,0,5,0>: Cost 2 vzipl RHS, <0,0,0,0>
+    789790822U,  // <u,0,5,1>: Cost 1 vzipl RHS, LHS
+    1996349542U, // <u,0,5,2>: Cost 2 vtrnl <u,3,5,7>, LHS
+    2220163752U, // <u,0,5,3>: Cost 3 vrev <0,u,3,5>
+    1863532882U, // <u,0,5,4>: Cost 2 vzipl RHS, <0,4,1,5>
     2651680772U, // <u,0,5,5>: Cost 3 vext2 <5,6,u,0>, <5,5,5,5>
     1577939051U, // <u,0,5,6>: Cost 2 vext2 <5,6,u,0>, <5,6,u,0>
-    2830077238U, // <u,0,5,7>: Cost 3 vuzpr <1,u,3,0>, RHS
-    1579266317U, // <u,0,5,u>: Cost 2 vext2 <5,u,u,0>, <5,u,u,0>
-    2555494502U, // <u,0,6,0>: Cost 3 vext1 <0,u,0,6>, LHS
-    2712068598U, // <u,0,6,1>: Cost 3 vext3 RHS, <0,6,1,7>
-    1997750374U, // <u,0,6,2>: Cost 2 vtrnl RHS, LHS
+    1756335414U, // <u,0,5,7>: Cost 2 vuzpr <1,u,3,0>, RHS
+    789791389U,  // <u,0,5,u>: Cost 1 vzipl RHS, LHS
+    1997750272U, // <u,0,6,0>: Cost 2 vtrnl RHS, <0,0,0,0>
+    1997750282U, // <u,0,6,1>: Cost 2 vtrnl RHS, <0,0,1,1>
+    924008550U,  // <u,0,6,2>: Cost 1 vtrnl RHS, LHS
     2655662673U, // <u,0,6,3>: Cost 3 vext2 <6,3,u,0>, <6,3,u,0>
-    2555497782U, // <u,0,6,4>: Cost 3 vext1 <0,u,0,6>, RHS
-    2651681459U, // <u,0,6,5>: Cost 3 vext2 <5,6,u,0>, <6,5,0,u>
+    1146503858U, // <u,0,6,4>: Cost 2 vrev <0,u,4,6>
+    3071492310U, // <u,0,6,5>: Cost 3 vtrnl RHS, <0,2,5,7>
     2651681592U, // <u,0,6,6>: Cost 3 vext2 <5,6,u,0>, <6,6,6,6>
-    2651681614U, // <u,0,6,7>: Cost 3 vext2 <5,6,u,0>, <6,7,0,1>
-    1997750428U, // <u,0,6,u>: Cost 2 vtrnl RHS, LHS
-    2567446630U, // <u,0,7,0>: Cost 3 vext1 <2,u,0,7>, LHS
-    2567447446U, // <u,0,7,1>: Cost 3 vext1 <2,u,0,7>, <1,2,3,0>
-    2567448641U, // <u,0,7,2>: Cost 3 vext1 <2,u,0,7>, <2,u,0,7>
+    2830075834U, // <u,0,6,7>: Cost 3 vuzpr <1,u,3,0>, <2,6,3,7>
+    924008604U,  // <u,0,6,u>: Cost 1 vtrnl RHS, LHS
+    1906900992U, // <u,0,7,0>: Cost 2 vzipr RHS, <0,0,0,0>
+    1906902694U, // <u,0,7,1>: Cost 2 vzipr RHS, <2,3,0,1>
+    1906901156U, // <u,0,7,2>: Cost 2 vzipr RHS, <0,2,0,2>
     2573421338U, // <u,0,7,3>: Cost 3 vext1 <3,u,0,7>, <3,u,0,7>
     2567449910U, // <u,0,7,4>: Cost 3 vext1 <2,u,0,7>, RHS
-    2651682242U, // <u,0,7,5>: Cost 3 vext2 <5,6,u,0>, <7,5,6,u>
-    2591339429U, // <u,0,7,6>: Cost 3 vext1 <6,u,0,7>, <6,u,0,7>
-    2651682412U, // <u,0,7,7>: Cost 3 vext2 <5,6,u,0>, <7,7,7,7>
-    2567452462U, // <u,0,7,u>: Cost 3 vext1 <2,u,0,7>, LHS
+    2980643874U, // <u,0,7,5>: Cost 3 vzipr RHS, <1,4,0,5>
+    2980643146U, // <u,0,7,6>: Cost 3 vzipr RHS, <0,4,0,6>
+    2980644686U, // <u,0,7,7>: Cost 3 vzipr RHS, <2,5,0,7>
+    1906901162U, // <u,0,7,u>: Cost 2 vzipr RHS, <0,2,0,u>
     135053414U,  // <u,0,u,0>: Cost 1 vdup0 LHS
-    1611489938U, // <u,0,u,1>: Cost 2 vext3 LHS, <0,u,1,1>
+    791453798U,  // <u,0,u,1>: Cost 1 vzipl LHS, LHS
     537748125U,  // <u,0,u,2>: Cost 1 vext3 LHS, LHS
-    2685674148U, // <u,0,u,3>: Cost 3 vext3 LHS, <0,u,3,1>
+    1756332701U, // <u,0,u,3>: Cost 2 vuzpr <1,u,3,0>, LHS
     1611932338U, // <u,0,u,4>: Cost 2 vext3 LHS, <0,u,4,6>
     1551399066U, // <u,0,u,5>: Cost 2 vext2 <1,2,u,0>, RHS
     1517605798U, // <u,0,u,6>: Cost 2 vext1 <6,u,0,u>, <6,u,0,u>
-    2830077481U, // <u,0,u,7>: Cost 3 vuzpr <1,u,3,0>, RHS
+    1756335657U, // <u,0,u,7>: Cost 2 vuzpr <1,u,3,0>, RHS
     537748179U,  // <u,0,u,u>: Cost 1 vext3 LHS, LHS
-    1544101961U, // <u,1,0,0>: Cost 2 vext2 <0,0,u,1>, <0,0,u,1>
-    1558036582U, // <u,1,0,1>: Cost 2 vext2 <2,3,u,1>, LHS
-    2619171051U, // <u,1,0,2>: Cost 3 vext2 <0,2,u,1>, <0,2,u,1>
+    1818149622U, // <u,1,0,0>: Cost 2 vzipl <1,0,3,2>, <1,0,3,2>
+    1549410406U, // <u,1,0,1>: Cost 2 vext2 <0,u,u,1>, LHS
+    1725587558U, // <u,1,0,2>: Cost 2 vuzpl <u,0,1,2>, LHS
     1611490038U, // <u,1,0,3>: Cost 2 vext3 LHS, <1,0,3,2>
     2555522358U, // <u,1,0,4>: Cost 3 vext1 <0,u,1,0>, RHS
-    2712068871U, // <u,1,0,5>: Cost 3 vext3 RHS, <1,0,5,1>
-    2591355815U, // <u,1,0,6>: Cost 3 vext1 <6,u,1,0>, <6,u,1,0>
+    2960679250U, // <u,1,0,5>: Cost 3 vzipr <1,2,u,0>, <0,4,1,5>
+    2859726551U, // <u,1,0,6>: Cost 3 vuzpr <6,u,0,1>, <u,0,1,6>
     2597328512U, // <u,1,0,7>: Cost 3 vext1 <7,u,1,0>, <7,u,1,0>
     1611490083U, // <u,1,0,u>: Cost 2 vext3 LHS, <1,0,u,2>
-    1481785446U, // <u,1,1,0>: Cost 2 vext1 <0,u,1,1>, LHS
+    1481786002U, // <u,1,1,0>: Cost 2 vext1 <0,u,1,1>, <0,u,1,1>
     202162278U,  // <u,1,1,1>: Cost 1 vdup1 LHS
-    2555528808U, // <u,1,1,2>: Cost 3 vext1 <0,u,1,1>, <2,2,2,2>
+    1860551574U, // <u,1,1,2>: Cost 2 vzipl LHS, <1,2,3,0>
     1611490120U, // <u,1,1,3>: Cost 2 vext3 LHS, <1,1,3,3>
     1481788726U, // <u,1,1,4>: Cost 2 vext1 <0,u,1,1>, RHS
-    2689876828U, // <u,1,1,5>: Cost 3 vext3 LHS, <1,1,5,5>
-    2591364008U, // <u,1,1,6>: Cost 3 vext1 <6,u,1,1>, <6,u,1,1>
-    2592691274U, // <u,1,1,7>: Cost 3 vext1 <7,1,1,1>, <7,1,1,1>
+    1860551824U, // <u,1,1,5>: Cost 2 vzipl LHS, <1,5,3,7>
+    2993870470U, // <u,1,1,6>: Cost 3 vzipr <6,7,u,1>, <7,u,1,6>
+    2823968589U, // <u,1,1,7>: Cost 3 vuzpr <0,u,1,1>, <u,1,5,7>
     202162278U,  // <u,1,1,u>: Cost 1 vdup1 LHS
     1499709542U, // <u,1,2,0>: Cost 2 vext1 <3,u,1,2>, LHS
-    2689876871U, // <u,1,2,1>: Cost 3 vext3 LHS, <1,2,1,3>
-    2631116445U, // <u,1,2,2>: Cost 3 vext2 <2,2,u,1>, <2,2,u,1>
+    1994769204U, // <u,1,2,1>: Cost 2 vtrnl LHS, <1,1,1,1>
+    1819460502U, // <u,1,2,2>: Cost 2 vzipl <1,2,3,0>, <1,2,3,0>
     835584U,     // <u,1,2,3>: Cost 0 copy LHS
     1499712822U, // <u,1,2,4>: Cost 2 vext1 <3,u,1,2>, RHS
-    2689876907U, // <u,1,2,5>: Cost 3 vext3 LHS, <1,2,5,3>
-    2631780282U, // <u,1,2,6>: Cost 3 vext2 <2,3,u,1>, <2,6,3,7>
+    1994769408U, // <u,1,2,5>: Cost 2 vtrnl LHS, <1,3,5,7>
+    2823962828U, // <u,1,2,6>: Cost 3 vuzpr <0,u,1,1>, <0,2,4,6>
     1523603074U, // <u,1,2,7>: Cost 2 vext1 <7,u,1,2>, <7,u,1,2>
     835584U,     // <u,1,2,u>: Cost 0 copy LHS
     1487773798U, // <u,1,3,0>: Cost 2 vext1 <1,u,1,3>, LHS
     1611490264U, // <u,1,3,1>: Cost 2 vext3 LHS, <1,3,1,3>
-    2685232094U, // <u,1,3,2>: Cost 3 vext3 LHS, <1,3,2,0>
-    2018746470U, // <u,1,3,3>: Cost 2 vtrnr LHS, LHS
+    1880328342U, // <u,1,3,2>: Cost 2 vzipr LHS, <3,0,1,2>
+    945004646U,  // <u,1,3,3>: Cost 1 vtrnr LHS, LHS
     1487777078U, // <u,1,3,4>: Cost 2 vext1 <1,u,1,3>, RHS
     1611490304U, // <u,1,3,5>: Cost 2 vext3 LHS, <1,3,5,7>
-    2685674505U, // <u,1,3,6>: Cost 3 vext3 LHS, <1,3,6,7>
-    2640407307U, // <u,1,3,7>: Cost 3 vext2 <3,7,u,1>, <3,7,u,1>
-    1611490327U, // <u,1,3,u>: Cost 2 vext3 LHS, <1,3,u,3>
+    2954068145U, // <u,1,3,6>: Cost 3 vzipr LHS, <0,2,1,6>
+    2823963648U, // <u,1,3,7>: Cost 3 vuzpr <0,u,1,1>, <1,3,5,7>
+    945004651U,  // <u,1,3,u>: Cost 1 vtrnr LHS, LHS
     1567992749U, // <u,1,4,0>: Cost 2 vext2 <4,0,u,1>, <4,0,u,1>
-    2693121070U, // <u,1,4,1>: Cost 3 vext3 <1,4,1,u>, <1,4,1,u>
-    2693194807U, // <u,1,4,2>: Cost 3 vext3 <1,4,2,u>, <1,4,2,u>
+    2960711690U, // <u,1,4,1>: Cost 3 vzipr <1,2,u,4>, <0,0,1,1>
+    2960713878U, // <u,1,4,2>: Cost 3 vzipr <1,2,u,4>, <3,0,1,2>
     1152386432U, // <u,1,4,3>: Cost 2 vrev <1,u,3,4>
     2555555126U, // <u,1,4,4>: Cost 3 vext1 <0,u,1,4>, RHS
-    1558039862U, // <u,1,4,5>: Cost 2 vext2 <2,3,u,1>, RHS
-    2645716371U, // <u,1,4,6>: Cost 3 vext2 <4,6,u,1>, <4,6,u,1>
-    2597361284U, // <u,1,4,7>: Cost 3 vext1 <7,u,1,4>, <7,u,1,4>
-    1152755117U, // <u,1,4,u>: Cost 2 vrev <1,u,u,4>
-    1481818214U, // <u,1,5,0>: Cost 2 vext1 <0,u,1,5>, LHS
-    2555560694U, // <u,1,5,1>: Cost 3 vext1 <0,u,1,5>, <1,0,3,2>
-    2555561576U, // <u,1,5,2>: Cost 3 vext1 <0,u,1,5>, <2,2,2,2>
+    1549413686U, // <u,1,4,5>: Cost 2 vext2 <0,u,u,1>, RHS
+    1725590838U, // <u,1,4,6>: Cost 2 vuzpl <u,0,1,2>, RHS
+    2646380004U, // <u,1,4,7>: Cost 3 vext2 <4,7,u,1>, <4,7,u,1>
+    1549413929U, // <u,1,4,u>: Cost 2 vext2 <0,u,u,1>, RHS
+    1481818774U, // <u,1,5,0>: Cost 2 vext1 <0,u,1,5>, <0,u,1,5>
+    1863533364U, // <u,1,5,1>: Cost 2 vzipl RHS, <1,1,1,1>
+    1863533462U, // <u,1,5,2>: Cost 2 vzipl RHS, <1,2,3,0>
     1611490448U, // <u,1,5,3>: Cost 2 vext3 LHS, <1,5,3,7>
     1481821494U, // <u,1,5,4>: Cost 2 vext1 <0,u,1,5>, RHS
-    2651025435U, // <u,1,5,5>: Cost 3 vext2 <5,5,u,1>, <5,5,u,1>
-    2651689068U, // <u,1,5,6>: Cost 3 vext2 <5,6,u,1>, <5,6,u,1>
-    2823966006U, // <u,1,5,7>: Cost 3 vuzpr <0,u,1,1>, RHS
+    1863533712U, // <u,1,5,5>: Cost 2 vzipl RHS, <1,5,3,7>
+    2848148771U, // <u,1,5,6>: Cost 3 vuzpr <4,u,5,1>, <4,5,4,6>
+    1750224182U, // <u,1,5,7>: Cost 2 vuzpr <0,u,1,1>, RHS
     1611932861U, // <u,1,5,u>: Cost 2 vext3 LHS, <1,5,u,7>
-    2555568230U, // <u,1,6,0>: Cost 3 vext1 <0,u,1,6>, LHS
-    2689877199U, // <u,1,6,1>: Cost 3 vext3 LHS, <1,6,1,7>
-    2712069336U, // <u,1,6,2>: Cost 3 vext3 RHS, <1,6,2,7>
-    2685232353U, // <u,1,6,3>: Cost 3 vext3 LHS, <1,6,3,7>
+    2555568791U, // <u,1,6,0>: Cost 3 vext1 <0,u,1,6>, <0,u,1,6>
+    1997751092U, // <u,1,6,1>: Cost 2 vtrnl RHS, <1,1,1,1>
+    2954758294U, // <u,1,6,2>: Cost 3 vzipr <0,2,u,6>, <3,0,1,2>
+    2018771046U, // <u,1,6,3>: Cost 2 vtrnr <0,u,2,6>, LHS
     2555571510U, // <u,1,6,4>: Cost 3 vext1 <0,u,1,6>, RHS
-    2689877235U, // <u,1,6,5>: Cost 3 vext3 LHS, <1,6,5,7>
-    2657661765U, // <u,1,6,6>: Cost 3 vext2 <6,6,u,1>, <6,6,u,1>
+    1997751296U, // <u,1,6,5>: Cost 2 vtrnl RHS, <1,3,5,7>
+    2848148852U, // <u,1,6,6>: Cost 3 vuzpr <4,u,5,1>, <4,6,4,6>
     1584583574U, // <u,1,6,7>: Cost 2 vext2 <6,7,u,1>, <6,7,u,1>
-    1585247207U, // <u,1,6,u>: Cost 2 vext2 <6,u,u,1>, <6,u,u,1>
+    2018771051U, // <u,1,6,u>: Cost 2 vtrnr <0,u,2,6>, LHS
     2561548390U, // <u,1,7,0>: Cost 3 vext1 <1,u,1,7>, LHS
-    2561549681U, // <u,1,7,1>: Cost 3 vext1 <1,u,1,7>, <1,u,1,7>
-    2573493926U, // <u,1,7,2>: Cost 3 vext1 <3,u,1,7>, <2,3,0,1>
-    2042962022U, // <u,1,7,3>: Cost 2 vtrnr RHS, LHS
+    1906901002U, // <u,1,7,1>: Cost 2 vzipr RHS, <0,0,1,1>
+    1906903190U, // <u,1,7,2>: Cost 2 vzipr RHS, <3,0,1,2>
+    969220198U,  // <u,1,7,3>: Cost 1 vtrnr RHS, LHS
     2561551670U, // <u,1,7,4>: Cost 3 vext1 <1,u,1,7>, RHS
-    2226300309U, // <u,1,7,5>: Cost 3 vrev <1,u,5,7>
-    2658325990U, // <u,1,7,6>: Cost 3 vext2 <6,7,u,1>, <7,6,1,u>
-    2658326124U, // <u,1,7,7>: Cost 3 vext2 <6,7,u,1>, <7,7,7,7>
-    2042962027U, // <u,1,7,u>: Cost 2 vtrnr RHS, LHS
-    1481842790U, // <u,1,u,0>: Cost 2 vext1 <0,u,1,u>, LHS
+    1152558485U, // <u,1,7,5>: Cost 2 vrev <1,u,5,7>
+    2226374046U, // <u,1,7,6>: Cost 3 vrev <1,u,6,7>
+    2980643318U, // <u,1,7,7>: Cost 3 vzipr RHS, <0,6,1,7>
+    969220203U,  // <u,1,7,u>: Cost 1 vtrnr RHS, LHS
+    1481843353U, // <u,1,u,0>: Cost 2 vext1 <0,u,1,u>, <0,u,1,u>
     202162278U,  // <u,1,u,1>: Cost 1 vdup1 LHS
-    2685674867U, // <u,1,u,2>: Cost 3 vext3 LHS, <1,u,2,0>
+    1880369302U, // <u,1,u,2>: Cost 2 vzipr LHS, <3,0,1,2>
     835584U,     // <u,1,u,3>: Cost 0 copy LHS
     1481846070U, // <u,1,u,4>: Cost 2 vext1 <0,u,1,u>, RHS
     1611933077U, // <u,1,u,5>: Cost 2 vext3 LHS, <1,u,5,7>
-    2685674910U, // <u,1,u,6>: Cost 3 vext3 LHS, <1,u,6,7>
-    1523652232U, // <u,1,u,7>: Cost 2 vext1 <7,u,1,u>, <7,u,1,u>
+    1725593754U, // <u,1,u,6>: Cost 2 vuzpl <u,0,1,2>, RHS
+    1750224425U, // <u,1,u,7>: Cost 2 vuzpr <0,u,1,1>, RHS
     835584U,     // <u,1,u,u>: Cost 0 copy LHS
-    1544110154U, // <u,2,0,0>: Cost 2 vext2 <0,0,u,2>, <0,0,u,2>
+    1726332928U, // <u,2,0,0>: Cost 2 vuzpl LHS, <0,0,0,0>
     1545437286U, // <u,2,0,1>: Cost 2 vext2 <0,2,u,2>, LHS
-    1545437420U, // <u,2,0,2>: Cost 2 vext2 <0,2,u,2>, <0,2,u,2>
-    2685232589U, // <u,2,0,3>: Cost 3 vext3 LHS, <2,0,3,0>
-    2619179346U, // <u,2,0,4>: Cost 3 vext2 <0,2,u,2>, <0,4,1,5>
-    2712069606U, // <u,2,0,5>: Cost 3 vext3 RHS, <2,0,5,7>
+    652591206U,  // <u,2,0,2>: Cost 1 vuzpl LHS, LHS
+    1886937190U, // <u,2,0,3>: Cost 2 vzipr <1,2,u,0>, LHS
+    1726333132U, // <u,2,0,4>: Cost 2 vuzpl LHS, <0,2,4,6>
+    2696734183U, // <u,2,0,5>: Cost 3 vext3 <2,0,5,u>, <2,0,5,u>
     2689877484U, // <u,2,0,6>: Cost 3 vext3 LHS, <2,0,6,4>
     2659656273U, // <u,2,0,7>: Cost 3 vext2 <7,0,u,2>, <0,7,2,u>
-    1545437853U, // <u,2,0,u>: Cost 2 vext2 <0,2,u,2>, LHS
+    652591260U,  // <u,2,0,u>: Cost 1 vuzpl LHS, LHS
     1550082851U, // <u,2,1,0>: Cost 2 vext2 <1,0,u,2>, <1,0,u,2>
-    2619179828U, // <u,2,1,1>: Cost 3 vext2 <0,2,u,2>, <1,1,1,1>
-    2619179926U, // <u,2,1,2>: Cost 3 vext2 <0,2,u,2>, <1,2,3,0>
-    2685232671U, // <u,2,1,3>: Cost 3 vext3 LHS, <2,1,3,1>
-    2555604278U, // <u,2,1,4>: Cost 3 vext1 <0,u,2,1>, RHS
-    2619180176U, // <u,2,1,5>: Cost 3 vext2 <0,2,u,2>, <1,5,3,7>
-    2689877564U, // <u,2,1,6>: Cost 3 vext3 LHS, <2,1,6,3>
-    2602718850U, // <u,2,1,7>: Cost 3 vext1 <u,7,2,1>, <7,u,1,2>
-    1158703235U, // <u,2,1,u>: Cost 2 vrev <2,u,u,1>
-    1481867366U, // <u,2,2,0>: Cost 2 vext1 <0,u,2,2>, LHS
+    1726333748U, // <u,2,1,1>: Cost 2 vuzpl LHS, <1,1,1,1>
+    1860552296U, // <u,2,1,2>: Cost 2 vzipl LHS, <2,2,2,2>
+    1750155366U, // <u,2,1,3>: Cost 2 vuzpr <0,u,0,2>, LHS
+    3092399002U, // <u,2,1,4>: Cost 3 vtrnr <0,u,1,1>, <1,2,3,4>
+    1726333952U, // <u,2,1,5>: Cost 2 vuzpl LHS, <1,3,5,7>
+    1860552634U, // <u,2,1,6>: Cost 2 vzipl LHS, <2,6,3,7>
+    2865780530U, // <u,2,1,7>: Cost 3 vuzpr <7,u,1,2>, <u,1,2,7>
+    1750155371U, // <u,2,1,u>: Cost 2 vuzpr <0,u,0,2>, LHS
+    1481867932U, // <u,2,2,0>: Cost 2 vext1 <0,u,2,2>, <0,u,2,2>
     2555609846U, // <u,2,2,1>: Cost 3 vext1 <0,u,2,2>, <1,0,3,2>
     269271142U,  // <u,2,2,2>: Cost 1 vdup2 LHS
     1611490930U, // <u,2,2,3>: Cost 2 vext3 LHS, <2,2,3,3>
     1481870646U, // <u,2,2,4>: Cost 2 vext1 <0,u,2,2>, RHS
-    2689877640U, // <u,2,2,5>: Cost 3 vext3 LHS, <2,2,5,7>
+    2824046205U, // <u,2,2,5>: Cost 3 vuzpr <0,u,2,2>, <2,2,4,5>
     2619180986U, // <u,2,2,6>: Cost 3 vext2 <0,2,u,2>, <2,6,3,7>
-    2593436837U, // <u,2,2,7>: Cost 3 vext1 <7,2,2,2>, <7,2,2,2>
+    2954729671U, // <u,2,2,7>: Cost 3 vzipr <0,2,u,2>, <u,6,2,7>
     269271142U,  // <u,2,2,u>: Cost 1 vdup2 LHS
     408134301U,  // <u,2,3,0>: Cost 1 vext1 LHS, LHS
     1481876214U, // <u,2,3,1>: Cost 2 vext1 LHS, <1,0,3,2>
-    1481877096U, // <u,2,3,2>: Cost 2 vext1 LHS, <2,2,2,2>
-    1880326246U, // <u,2,3,3>: Cost 2 vzipr LHS, LHS
+    1880326164U, // <u,2,3,2>: Cost 2 vzipr LHS, <0,0,2,2>
+    806584422U,  // <u,2,3,3>: Cost 1 vzipr LHS, LHS
     408137014U,  // <u,2,3,4>: Cost 1 vext1 LHS, RHS
-    1529654992U, // <u,2,3,5>: Cost 2 vext1 LHS, <5,1,7,3>
-    1529655802U, // <u,2,3,6>: Cost 2 vext1 LHS, <6,2,7,3>
+    1726335490U, // <u,2,3,5>: Cost 2 vuzpl LHS, <3,4,5,6>
+    1880326492U, // <u,2,3,6>: Cost 2 vzipr LHS, <0,4,2,6>
     1529656314U, // <u,2,3,7>: Cost 2 vext1 LHS, <7,0,1,2>
-    408139566U,  // <u,2,3,u>: Cost 1 vext1 LHS, LHS
-    1567853468U, // <u,2,4,0>: Cost 2 vext2 <4,0,6,2>, <4,0,6,2>
-    2561598362U, // <u,2,4,1>: Cost 3 vext1 <1,u,2,4>, <1,2,3,4>
+    806584427U,  // <u,2,3,u>: Cost 1 vzipr LHS, LHS
+    1726336332U, // <u,2,4,0>: Cost 2 vuzpl LHS, <4,6,0,2>
+    2561598839U, // <u,2,4,1>: Cost 3 vext1 <1,u,2,4>, <1,u,2,4>
     2555627214U, // <u,2,4,2>: Cost 3 vext1 <0,u,2,4>, <2,3,4,5>
-    2685232918U, // <u,2,4,3>: Cost 3 vext3 LHS, <2,4,3,5>
-    2555628854U, // <u,2,4,4>: Cost 3 vext1 <0,u,2,4>, RHS
+    1886969958U, // <u,2,4,3>: Cost 2 vzipr <1,2,u,4>, LHS
+    1726336208U, // <u,2,4,4>: Cost 2 vuzpl LHS, <4,4,4,4>
     1545440566U, // <u,2,4,5>: Cost 2 vext2 <0,2,u,2>, RHS
-    1571982740U, // <u,2,4,6>: Cost 2 vext2 <4,6,u,2>, <4,6,u,2>
-    2592125957U, // <u,2,4,7>: Cost 3 vext1 <7,0,2,4>, <7,0,2,4>
-    1545440809U, // <u,2,4,u>: Cost 2 vext2 <0,2,u,2>, RHS
-    2555633766U, // <u,2,5,0>: Cost 3 vext1 <0,u,2,5>, LHS
-    2561606550U, // <u,2,5,1>: Cost 3 vext1 <1,u,2,5>, <1,2,3,0>
-    2689877856U, // <u,2,5,2>: Cost 3 vext3 LHS, <2,5,2,7>
-    2685233000U, // <u,2,5,3>: Cost 3 vext3 LHS, <2,5,3,6>
+    652594486U,  // <u,2,4,6>: Cost 1 vuzpl LHS, RHS
+    2659659225U, // <u,2,4,7>: Cost 3 vext2 <7,0,u,2>, <4,7,6,u>
+    652594504U,  // <u,2,4,u>: Cost 1 vuzpl LHS, RHS
+    3092431766U, // <u,2,5,0>: Cost 3 vtrnr <0,u,1,5>, <1,2,3,0>
+    1726337152U, // <u,2,5,1>: Cost 2 vuzpl LHS, <5,7,1,3>
+    1863534184U, // <u,2,5,2>: Cost 2 vzipl RHS, <2,2,2,2>
+    1884987494U, // <u,2,5,3>: Cost 2 vzipr <0,u,u,5>, LHS
     1158441059U, // <u,2,5,4>: Cost 2 vrev <2,u,4,5>
-    2645725188U, // <u,2,5,5>: Cost 3 vext2 <4,6,u,2>, <5,5,5,5>
-    2689877892U, // <u,2,5,6>: Cost 3 vext3 LHS, <2,5,6,7>
-    2823900470U, // <u,2,5,7>: Cost 3 vuzpr <0,u,0,2>, RHS
-    1158736007U, // <u,2,5,u>: Cost 2 vrev <2,u,u,5>
-    1481900134U, // <u,2,6,0>: Cost 2 vext1 <0,u,2,6>, LHS
+    1726337028U, // <u,2,5,5>: Cost 2 vuzpl LHS, <5,5,5,5>
+    1863534522U, // <u,2,5,6>: Cost 2 vzipl RHS, <2,6,3,7>
+    1750158646U, // <u,2,5,7>: Cost 2 vuzpr <0,u,0,2>, RHS
+    1750158647U, // <u,2,5,u>: Cost 2 vuzpr <0,u,0,2>, RHS
+    1481900704U, // <u,2,6,0>: Cost 2 vext1 <0,u,2,6>, <0,u,2,6>
     2555642614U, // <u,2,6,1>: Cost 3 vext1 <0,u,2,6>, <1,0,3,2>
-    2555643496U, // <u,2,6,2>: Cost 3 vext1 <0,u,2,6>, <2,2,2,2>
+    1997751912U, // <u,2,6,2>: Cost 2 vtrnl RHS, <2,2,2,2>
     1611491258U, // <u,2,6,3>: Cost 2 vext3 LHS, <2,6,3,7>
     1481903414U, // <u,2,6,4>: Cost 2 vext1 <0,u,2,6>, RHS
     2689877964U, // <u,2,6,5>: Cost 3 vext3 LHS, <2,6,5,7>
-    2689877973U, // <u,2,6,6>: Cost 3 vext3 LHS, <2,6,6,7>
-    2645726030U, // <u,2,6,7>: Cost 3 vext2 <4,6,u,2>, <6,7,0,1>
+    1726337848U, // <u,2,6,6>: Cost 2 vuzpl LHS, <6,6,6,6>
+    1726337530U, // <u,2,6,7>: Cost 2 vuzpl LHS, <6,2,7,3>
     1611933671U, // <u,2,6,u>: Cost 2 vext3 LHS, <2,6,u,7>
-    1585919033U, // <u,2,7,0>: Cost 2 vext2 <7,0,u,2>, <7,0,u,2>
-    2573566710U, // <u,2,7,1>: Cost 3 vext1 <3,u,2,7>, <1,0,3,2>
-    2567596115U, // <u,2,7,2>: Cost 3 vext1 <2,u,2,7>, <2,u,2,7>
-    1906901094U, // <u,2,7,3>: Cost 2 vzipr RHS, LHS
-    2555653430U, // <u,2,7,4>: Cost 3 vext1 <0,u,2,7>, RHS
-    2800080230U, // <u,2,7,5>: Cost 3 vuzpl LHS, <7,4,5,6>
-    2980643164U, // <u,2,7,6>: Cost 3 vzipr RHS, <0,4,2,6>
-    2645726828U, // <u,2,7,7>: Cost 3 vext2 <4,6,u,2>, <7,7,7,7>
-    1906901099U, // <u,2,7,u>: Cost 2 vzipr RHS, LHS
+    2042962838U, // <u,2,7,0>: Cost 2 vtrnr RHS, <1,2,3,0>
+    1726338042U, // <u,2,7,1>: Cost 2 vuzpl LHS, <7,0,1,2>
+    1906901012U, // <u,2,7,2>: Cost 2 vzipr RHS, <0,0,2,2>
+    833159270U,  // <u,2,7,3>: Cost 1 vzipr RHS, LHS
+    2042962842U, // <u,2,7,4>: Cost 2 vtrnr RHS, <1,2,3,4>
+    1726338406U, // <u,2,7,5>: Cost 2 vuzpl LHS, <7,4,5,6>
+    1906901340U, // <u,2,7,6>: Cost 2 vzipr RHS, <0,4,2,6>
+    1726338668U, // <u,2,7,7>: Cost 2 vuzpl LHS, <7,7,7,7>
+    833159275U,  // <u,2,7,u>: Cost 1 vzipr RHS, LHS
     408175266U,  // <u,2,u,0>: Cost 1 vext1 LHS, LHS
     1545443118U, // <u,2,u,1>: Cost 2 vext2 <0,2,u,2>, LHS
-    269271142U,  // <u,2,u,2>: Cost 1 vdup2 LHS
-    1611491416U, // <u,2,u,3>: Cost 2 vext3 LHS, <2,u,3,3>
+    652597038U,  // <u,2,u,2>: Cost 1 vuzpl LHS, LHS
+    806625382U,  // <u,2,u,3>: Cost 1 vzipr LHS, LHS
     408177974U,  // <u,2,u,4>: Cost 1 vext1 LHS, RHS
     1545443482U, // <u,2,u,5>: Cost 2 vext2 <0,2,u,2>, RHS
-    1726339226U, // <u,2,u,6>: Cost 2 vuzpl LHS, RHS
-    1529697274U, // <u,2,u,7>: Cost 2 vext1 LHS, <7,0,1,2>
-    408180526U,  // <u,2,u,u>: Cost 1 vext1 LHS, LHS
+    652597402U,  // <u,2,u,6>: Cost 1 vuzpl LHS, RHS
+    1750158889U, // <u,2,u,7>: Cost 2 vuzpr <0,u,0,2>, RHS
+    806625387U,  // <u,2,u,u>: Cost 1 vzipr LHS, LHS
     1544781824U, // <u,3,0,0>: Cost 2 vext2 LHS, <0,0,0,0>
     471040156U,  // <u,3,0,1>: Cost 1 vext2 LHS, LHS
     1544781988U, // <u,3,0,2>: Cost 2 vext2 LHS, <0,2,0,2>
     2618523900U, // <u,3,0,3>: Cost 3 vext2 LHS, <0,3,1,0>
     1544782162U, // <u,3,0,4>: Cost 2 vext2 LHS, <0,4,1,5>
-    2238188352U, // <u,3,0,5>: Cost 3 vrev <3,u,5,0>
-    2623169023U, // <u,3,0,6>: Cost 3 vext2 LHS, <0,6,2,7>
-    2238335826U, // <u,3,0,7>: Cost 3 vrev <3,u,7,0>
+    3098511054U, // <u,3,0,5>: Cost 3 vtrnr <1,u,3,0>, <2,3,4,5>
+    2824052778U, // <u,3,0,6>: Cost 3 vuzpr LHS, <0,0,4,6>
+    2960680080U, // <u,3,0,7>: Cost 3 vzipr <1,2,u,0>, <1,5,3,7>
     471040669U,  // <u,3,0,u>: Cost 1 vext2 LHS, LHS
     1544782582U, // <u,3,1,0>: Cost 2 vext2 LHS, <1,0,3,2>
     1544782644U, // <u,3,1,1>: Cost 2 vext2 LHS, <1,1,1,1>
     1544782742U, // <u,3,1,2>: Cost 2 vext2 LHS, <1,2,3,0>
-    1544782808U, // <u,3,1,3>: Cost 2 vext2 LHS, <1,3,1,3>
-    2618524733U, // <u,3,1,4>: Cost 3 vext2 LHS, <1,4,3,5>
+    676569190U,  // <u,3,1,3>: Cost 1 vuzpr LHS, LHS
+    1860553218U, // <u,3,1,4>: Cost 2 vzipl LHS, <3,4,5,6>
     1544782992U, // <u,3,1,5>: Cost 2 vext2 LHS, <1,5,3,7>
     2618524897U, // <u,3,1,6>: Cost 3 vext2 LHS, <1,6,3,7>
-    2703517987U, // <u,3,1,7>: Cost 3 vext3 <3,1,7,u>, <3,1,7,u>
-    1544783213U, // <u,3,1,u>: Cost 2 vext2 LHS, <1,u,1,3>
-    1529716838U, // <u,3,2,0>: Cost 2 vext1 <u,u,3,2>, LHS
+    3092399104U, // <u,3,1,7>: Cost 3 vtrnr <0,u,1,1>, <1,3,5,7>
+    676569195U,  // <u,3,1,u>: Cost 1 vuzpr LHS, LHS
+    1750311830U, // <u,3,2,0>: Cost 2 vuzpr LHS, <1,2,3,0>
     1164167966U, // <u,3,2,1>: Cost 2 vrev <3,u,1,2>
     1544783464U, // <u,3,2,2>: Cost 2 vext2 LHS, <2,2,2,2>
     1544783526U, // <u,3,2,3>: Cost 2 vext2 LHS, <2,3,0,1>
-    1529720118U, // <u,3,2,4>: Cost 2 vext1 <u,u,3,2>, RHS
-    2618525544U, // <u,3,2,5>: Cost 3 vext2 LHS, <2,5,3,6>
+    1750311834U, // <u,3,2,4>: Cost 2 vuzpr LHS, <1,2,3,4>
+    1994770946U, // <u,3,2,5>: Cost 2 vtrnl LHS, <3,4,5,6>
     1544783802U, // <u,3,2,6>: Cost 2 vext2 LHS, <2,6,3,7>
-    2704181620U, // <u,3,2,7>: Cost 3 vext3 <3,2,7,u>, <3,2,7,u>
+    2954724496U, // <u,3,2,7>: Cost 3 vzipr <0,2,u,2>, <1,5,3,7>
     1544783931U, // <u,3,2,u>: Cost 2 vext2 LHS, <2,u,0,1>
     1544784022U, // <u,3,3,0>: Cost 2 vext2 LHS, <3,0,1,2>
-    1487922559U, // <u,3,3,1>: Cost 2 vext1 <1,u,3,3>, <1,u,3,3>
-    1493895256U, // <u,3,3,2>: Cost 2 vext1 <2,u,3,3>, <2,u,3,3>
+    1750312614U, // <u,3,3,1>: Cost 2 vuzpr LHS, <2,3,0,1>
+    1880326902U, // <u,3,3,2>: Cost 2 vzipr LHS, <1,0,3,2>
     336380006U,  // <u,3,3,3>: Cost 1 vdup3 LHS
     1544784386U, // <u,3,3,4>: Cost 2 vext2 LHS, <3,4,5,6>
-    2824054478U, // <u,3,3,5>: Cost 3 vuzpr LHS, <2,3,4,5>
-    2238286668U, // <u,3,3,6>: Cost 3 vrev <3,u,6,3>
-    2954069136U, // <u,3,3,7>: Cost 3 vzipr LHS, <1,5,3,7>
+    1750312654U, // <u,3,3,5>: Cost 2 vuzpr LHS, <2,3,4,5>
+    2954068892U, // <u,3,3,6>: Cost 3 vzipr LHS, <1,2,3,6>
+    1880327312U, // <u,3,3,7>: Cost 2 vzipr LHS, <1,5,3,7>
     336380006U,  // <u,3,3,u>: Cost 1 vdup3 LHS
     1487929446U, // <u,3,4,0>: Cost 2 vext1 <1,u,3,4>, LHS
     1487930752U, // <u,3,4,1>: Cost 2 vext1 <1,u,3,4>, <1,u,3,4>
-    2623171644U, // <u,3,4,2>: Cost 3 vext2 LHS, <4,2,6,0>
-    2561673366U, // <u,3,4,3>: Cost 3 vext1 <1,u,3,4>, <3,0,1,2>
+    2824053062U, // <u,3,4,2>: Cost 3 vuzpr LHS, <0,4,0,2>
+    2960712520U, // <u,3,4,3>: Cost 3 vzipr <1,2,u,4>, <1,1,3,3>
     1487932726U, // <u,3,4,4>: Cost 2 vext1 <1,u,3,4>, RHS
     471043382U,  // <u,3,4,5>: Cost 1 vext2 LHS, RHS
-    1592561012U, // <u,3,4,6>: Cost 2 vext2 LHS, <4,6,4,6>
-    2238368598U, // <u,3,4,7>: Cost 3 vrev <3,u,7,4>
+    1750311260U, // <u,3,4,6>: Cost 2 vuzpr LHS, <0,4,2,6>
+    2960712848U, // <u,3,4,7>: Cost 3 vzipr <1,2,u,4>, <1,5,3,7>
     471043625U,  // <u,3,4,u>: Cost 1 vext2 LHS, RHS
-    2555707494U, // <u,3,5,0>: Cost 3 vext1 <0,u,3,5>, LHS
+    1863534742U, // <u,3,5,0>: Cost 2 vzipl RHS, <3,0,1,2>
     1574645465U, // <u,3,5,1>: Cost 2 vext2 <5,1,u,3>, <5,1,u,3>
-    2567653106U, // <u,3,5,2>: Cost 3 vext1 <2,u,3,5>, <2,3,u,5>
-    2555709954U, // <u,3,5,3>: Cost 3 vext1 <0,u,3,5>, <3,4,5,6>
+    2958729974U, // <u,3,5,2>: Cost 3 vzipr <0,u,u,5>, <1,0,3,2>
+    1863535004U, // <u,3,5,3>: Cost 2 vzipl RHS, <3,3,3,3>
     1592561606U, // <u,3,5,4>: Cost 2 vext2 LHS, <5,4,7,6>
     1592561668U, // <u,3,5,5>: Cost 2 vext2 LHS, <5,5,5,5>
     1592561762U, // <u,3,5,6>: Cost 2 vext2 LHS, <5,6,7,0>
-    1750314294U, // <u,3,5,7>: Cost 2 vuzpr LHS, RHS
-    1750314295U, // <u,3,5,u>: Cost 2 vuzpr LHS, RHS
-    2623172897U, // <u,3,6,0>: Cost 3 vext2 LHS, <6,0,1,2>
-    2561688962U, // <u,3,6,1>: Cost 3 vext1 <1,u,3,6>, <1,u,3,6>
+    676572470U,  // <u,3,5,7>: Cost 1 vuzpr LHS, RHS
+    676572471U,  // <u,3,5,u>: Cost 1 vuzpr LHS, RHS
+    1798090850U, // <u,3,6,0>: Cost 2 vuzpr LHS, <5,6,7,0>
+    1997752470U, // <u,3,6,1>: Cost 2 vtrnl RHS, <3,0,1,2>
     1581281795U, // <u,3,6,2>: Cost 2 vext2 <6,2,u,3>, <6,2,u,3>
-    2706541204U, // <u,3,6,3>: Cost 3 vext3 <3,6,3,u>, <3,6,3,u>
-    2623173261U, // <u,3,6,4>: Cost 3 vext2 LHS, <6,4,5,6>
+    1997752732U, // <u,3,6,3>: Cost 2 vtrnl RHS, <3,3,3,3>
+    1798090854U, // <u,3,6,4>: Cost 2 vuzpr LHS, <5,6,7,4>
     1164495686U, // <u,3,6,5>: Cost 2 vrev <3,u,5,6>
     1592562488U, // <u,3,6,6>: Cost 2 vext2 LHS, <6,6,6,6>
-    1592562510U, // <u,3,6,7>: Cost 2 vext2 LHS, <6,7,0,1>
-    1164716897U, // <u,3,6,u>: Cost 2 vrev <3,u,u,6>
+    1750312890U, // <u,3,6,7>: Cost 2 vuzpr LHS, <2,6,3,7>
+    1750312891U, // <u,3,6,u>: Cost 2 vuzpr LHS, <2,6,3,u>
     1487954022U, // <u,3,7,0>: Cost 2 vext1 <1,u,3,7>, LHS
     1487955331U, // <u,3,7,1>: Cost 2 vext1 <1,u,3,7>, <1,u,3,7>
     1493928028U, // <u,3,7,2>: Cost 2 vext1 <2,u,3,7>, <2,u,3,7>
-    2561697942U, // <u,3,7,3>: Cost 3 vext1 <1,u,3,7>, <3,0,1,2>
+    1906901832U, // <u,3,7,3>: Cost 2 vzipr RHS, <1,1,3,3>
     1487957302U, // <u,3,7,4>: Cost 2 vext1 <1,u,3,7>, RHS
-    2707352311U, // <u,3,7,5>: Cost 3 vext3 <3,7,5,u>, <3,7,5,u>
-    2655024623U, // <u,3,7,6>: Cost 3 vext2 <6,2,u,3>, <7,6,2,u>
-    1592563308U, // <u,3,7,7>: Cost 2 vext2 LHS, <7,7,7,7>
+    2042963662U, // <u,3,7,5>: Cost 2 vtrnr RHS, <2,3,4,5>
+    2980643740U, // <u,3,7,6>: Cost 3 vzipr RHS, <1,2,3,6>
+    1906902160U, // <u,3,7,7>: Cost 2 vzipr RHS, <1,5,3,7>
     1487959854U, // <u,3,7,u>: Cost 2 vext1 <1,u,3,7>, LHS
     1544787667U, // <u,3,u,0>: Cost 2 vext2 LHS, <u,0,1,2>
     471045934U,  // <u,3,u,1>: Cost 1 vext2 LHS, LHS
-    1549432709U, // <u,3,u,2>: Cost 2 vext2 LHS, <u,2,3,0>
-    336380006U,  // <u,3,u,3>: Cost 1 vdup3 LHS
+    1880367862U, // <u,3,u,2>: Cost 2 vzipr LHS, <1,0,3,2>
+    676569757U,  // <u,3,u,3>: Cost 1 vuzpr LHS, LHS
     1544788031U, // <u,3,u,4>: Cost 2 vext2 LHS, <u,4,5,6>
     471046298U,  // <u,3,u,5>: Cost 1 vext2 LHS, RHS
-    1549433040U, // <u,3,u,6>: Cost 2 vext2 LHS, <u,6,3,7>
-    1750314537U, // <u,3,u,7>: Cost 2 vuzpr LHS, RHS
+    1750311584U, // <u,3,u,6>: Cost 2 vuzpr LHS, <0,u,2,6>
+    676572713U,  // <u,3,u,7>: Cost 1 vuzpr LHS, RHS
     471046501U,  // <u,3,u,u>: Cost 1 vext2 LHS, LHS
-    2625167360U, // <u,4,0,0>: Cost 3 vext2 <1,2,u,4>, <0,0,0,0>
+    1974046028U, // <u,4,0,0>: Cost 2 vtrnl <4,6,0,2>, <4,6,0,2>
     1551425638U, // <u,4,0,1>: Cost 2 vext2 <1,2,u,4>, LHS
-    2619195630U, // <u,4,0,2>: Cost 3 vext2 <0,2,u,4>, <0,2,u,4>
+    1727168614U, // <u,4,0,2>: Cost 2 vuzpl <u,2,4,6>, LHS
     2619343104U, // <u,4,0,3>: Cost 3 vext2 <0,3,1,4>, <0,3,1,4>
-    2625167698U, // <u,4,0,4>: Cost 3 vext2 <1,2,u,4>, <0,4,1,5>
+    1679392972U, // <u,4,0,4>: Cost 2 vuzpl <0,2,4,6>, <0,2,4,6>
     1638329234U, // <u,4,0,5>: Cost 2 vext3 RHS, <4,0,5,1>
     1638329244U, // <u,4,0,6>: Cost 2 vext3 RHS, <4,0,6,2>
-    3787803556U, // <u,4,0,7>: Cost 4 vext3 RHS, <4,0,7,1>
+    2927578568U, // <u,4,0,7>: Cost 3 vzipl <7,0,1,2>, <4,7,5,0>
     1551426205U, // <u,4,0,u>: Cost 2 vext2 <1,2,u,4>, LHS
-    2555748454U, // <u,4,1,0>: Cost 3 vext1 <0,u,4,1>, LHS
+    1860553618U, // <u,4,1,0>: Cost 2 vzipl LHS, <4,0,5,1>
     2625168180U, // <u,4,1,1>: Cost 3 vext2 <1,2,u,4>, <1,1,1,1>
     1551426503U, // <u,4,1,2>: Cost 2 vext2 <1,2,u,4>, <1,2,u,4>
-    2625168344U, // <u,4,1,3>: Cost 3 vext2 <1,2,u,4>, <1,3,1,3>
-    2555751734U, // <u,4,1,4>: Cost 3 vext1 <0,u,4,1>, RHS
-    1860554038U, // <u,4,1,5>: Cost 2 vzipl LHS, RHS
-    2689879022U, // <u,4,1,6>: Cost 3 vext3 LHS, <4,1,6,3>
-    2592248852U, // <u,4,1,7>: Cost 3 vext1 <7,0,4,1>, <7,0,4,1>
-    1555408301U, // <u,4,1,u>: Cost 2 vext2 <1,u,u,4>, <1,u,u,4>
-    2555756646U, // <u,4,2,0>: Cost 3 vext1 <0,u,4,2>, LHS
-    2625168943U, // <u,4,2,1>: Cost 3 vext2 <1,2,u,4>, <2,1,4,u>
+    1756364902U, // <u,4,1,3>: Cost 2 vuzpr <1,u,3,4>, LHS
+    1860553936U, // <u,4,1,4>: Cost 2 vzipl LHS, <4,4,4,4>
+    786812214U,  // <u,4,1,5>: Cost 1 vzipl LHS, RHS
+    1994026294U, // <u,4,1,6>: Cost 2 vtrnl <u,0,1,2>, RHS
+    2244316716U, // <u,4,1,7>: Cost 3 vrev <4,u,7,1>
+    786812457U,  // <u,4,1,u>: Cost 1 vzipl LHS, RHS
+    1170066926U, // <u,4,2,0>: Cost 2 vrev <4,u,0,2>
+    2243882487U, // <u,4,2,1>: Cost 3 vrev <4,u,1,2>
     2625169000U, // <u,4,2,2>: Cost 3 vext2 <1,2,u,4>, <2,2,2,2>
     2619197134U, // <u,4,2,3>: Cost 3 vext2 <0,2,u,4>, <2,3,4,5>
-    2555759926U, // <u,4,2,4>: Cost 3 vext1 <0,u,4,2>, RHS
-    2712071222U, // <u,4,2,5>: Cost 3 vext3 RHS, <4,2,5,3>
-    1994771766U, // <u,4,2,6>: Cost 2 vtrnl LHS, RHS
-    2592257045U, // <u,4,2,7>: Cost 3 vext1 <7,0,4,2>, <7,0,4,2>
-    1994771784U, // <u,4,2,u>: Cost 2 vtrnl LHS, RHS
-    2625169558U, // <u,4,3,0>: Cost 3 vext2 <1,2,u,4>, <3,0,1,2>
-    2567709594U, // <u,4,3,1>: Cost 3 vext1 <2,u,4,3>, <1,2,3,4>
-    2567710817U, // <u,4,3,2>: Cost 3 vext1 <2,u,4,3>, <2,u,4,3>
+    1994771664U, // <u,4,2,4>: Cost 2 vtrnl LHS, <4,4,4,4>
+    1994771346U, // <u,4,2,5>: Cost 2 vtrnl LHS, <4,0,5,1>
+    921029942U,  // <u,4,2,6>: Cost 1 vtrnl LHS, RHS
+    3068513674U, // <u,4,2,7>: Cost 3 vtrnl LHS, <4,6,7,1>
+    921029960U,  // <u,4,2,u>: Cost 1 vtrnl LHS, RHS
+    3092490028U, // <u,4,3,0>: Cost 3 vtrnr LHS, <2,4,6,0>
+    2954070192U, // <u,4,3,1>: Cost 3 vzipr LHS, <3,0,4,1>
+    2954070193U, // <u,4,3,2>: Cost 3 vzipr LHS, <3,0,4,2>
     2625169820U, // <u,4,3,3>: Cost 3 vext2 <1,2,u,4>, <3,3,3,3>
-    2625169922U, // <u,4,3,4>: Cost 3 vext2 <1,2,u,4>, <3,4,5,6>
-    2954069710U, // <u,4,3,5>: Cost 3 vzipr LHS, <2,3,4,5>
-    2954068172U, // <u,4,3,6>: Cost 3 vzipr LHS, <0,2,4,6>
-    3903849472U, // <u,4,3,7>: Cost 4 vuzpr <1,u,3,4>, <1,3,5,7>
-    2954068174U, // <u,4,3,u>: Cost 3 vzipr LHS, <0,2,4,u>
+    1928105168U, // <u,4,3,4>: Cost 2 vzipr LHS, <4,4,4,4>
+    1880327886U, // <u,4,3,5>: Cost 2 vzipr LHS, <2,3,4,5>
+    1880326348U, // <u,4,3,6>: Cost 2 vzipr LHS, <0,2,4,6>
+    2830107648U, // <u,4,3,7>: Cost 3 vuzpr <1,u,3,4>, <1,3,5,7>
+    1880326350U, // <u,4,3,u>: Cost 2 vzipr LHS, <0,2,4,u>
     1505919078U, // <u,4,4,0>: Cost 2 vext1 <4,u,4,4>, LHS
-    2567717831U, // <u,4,4,1>: Cost 3 vext1 <2,u,4,4>, <1,2,u,4>
+    2960713823U, // <u,4,4,1>: Cost 3 vzipr <1,2,u,4>, <2,u,4,1>
     2567719010U, // <u,4,4,2>: Cost 3 vext1 <2,u,4,4>, <2,u,4,4>
-    2570373542U, // <u,4,4,3>: Cost 3 vext1 <3,3,4,4>, <3,3,4,4>
+    2960717713U, // <u,4,4,3>: Cost 3 vzipr <1,2,u,4>, <u,2,4,3>
     161926454U,  // <u,4,4,4>: Cost 1 vdup0 RHS
     1551428918U, // <u,4,4,5>: Cost 2 vext2 <1,2,u,4>, RHS
     1638329572U, // <u,4,4,6>: Cost 2 vext3 RHS, <4,4,6,6>
-    2594927963U, // <u,4,4,7>: Cost 3 vext1 <7,4,4,4>, <7,4,4,4>
+    2960718041U, // <u,4,4,7>: Cost 3 vzipr <1,2,u,4>, <u,6,4,7>
     161926454U,  // <u,4,4,u>: Cost 1 vdup0 RHS
     1493983334U, // <u,4,5,0>: Cost 2 vext1 <2,u,4,5>, LHS
     2689879301U, // <u,4,5,1>: Cost 3 vext3 LHS, <4,5,1,3>
     1493985379U, // <u,4,5,2>: Cost 2 vext1 <2,u,4,5>, <2,u,4,5>
     2567727254U, // <u,4,5,3>: Cost 3 vext1 <2,u,4,5>, <3,0,1,2>
     1493986614U, // <u,4,5,4>: Cost 2 vext1 <2,u,4,5>, RHS
-    1863535926U, // <u,4,5,5>: Cost 2 vzipl RHS, RHS
+    789794102U,  // <u,4,5,5>: Cost 1 vzipl RHS, RHS
     537750838U,  // <u,4,5,6>: Cost 1 vext3 LHS, RHS
-    2830110006U, // <u,4,5,7>: Cost 3 vuzpr <1,u,3,4>, RHS
+    1756368182U, // <u,4,5,7>: Cost 2 vuzpr <1,u,3,4>, RHS
     537750856U,  // <u,4,5,u>: Cost 1 vext3 LHS, RHS
-    1482047590U, // <u,4,6,0>: Cost 2 vext1 <0,u,4,6>, LHS
-    2555790070U, // <u,4,6,1>: Cost 3 vext1 <0,u,4,6>, <1,0,3,2>
+    1482048178U, // <u,4,6,0>: Cost 2 vext1 <0,u,4,6>, <0,u,4,6>
+    2689879382U, // <u,4,6,1>: Cost 3 vext3 LHS, <4,6,1,3>
     2555790952U, // <u,4,6,2>: Cost 3 vext1 <0,u,4,6>, <2,2,2,2>
     2555791510U, // <u,4,6,3>: Cost 3 vext1 <0,u,4,6>, <3,0,1,2>
     1482050870U, // <u,4,6,4>: Cost 2 vext1 <0,u,4,6>, RHS
-    2689879422U, // <u,4,6,5>: Cost 3 vext3 LHS, <4,6,5,7>
-    1997753654U, // <u,4,6,6>: Cost 2 vtrnl RHS, RHS
-    2712071562U, // <u,4,6,7>: Cost 3 vext3 RHS, <4,6,7,1>
-    1482053422U, // <u,4,6,u>: Cost 2 vext1 <0,u,4,6>, LHS
+    1997753234U, // <u,4,6,5>: Cost 2 vtrnl RHS, <4,0,5,1>
+    924011830U,  // <u,4,6,6>: Cost 1 vtrnl RHS, RHS
+    2830108602U, // <u,4,6,7>: Cost 3 vuzpr <1,u,3,4>, <2,6,3,7>
+    924011848U,  // <u,4,6,u>: Cost 1 vtrnl RHS, RHS
     2567741542U, // <u,4,7,0>: Cost 3 vext1 <2,u,4,7>, LHS
     2567742362U, // <u,4,7,1>: Cost 3 vext1 <2,u,4,7>, <1,2,3,4>
     2567743589U, // <u,4,7,2>: Cost 3 vext1 <2,u,4,7>, <2,u,4,7>
     2573716286U, // <u,4,7,3>: Cost 3 vext1 <3,u,4,7>, <3,u,4,7>
-    2567744822U, // <u,4,7,4>: Cost 3 vext1 <2,u,4,7>, RHS
-    2712071624U, // <u,4,7,5>: Cost 3 vext3 RHS, <4,7,5,0>
+    1906904272U, // <u,4,7,4>: Cost 2 vzipr RHS, <4,4,4,4>
+    1906902734U, // <u,4,7,5>: Cost 2 vzipr RHS, <2,3,4,5>
     96808489U,   // <u,4,7,6>: Cost 1 vrev RHS
-    2651715180U, // <u,4,7,7>: Cost 3 vext2 <5,6,u,4>, <7,7,7,7>
+    2980644722U, // <u,4,7,7>: Cost 3 vzipr RHS, <2,5,4,7>
     96955963U,   // <u,4,7,u>: Cost 1 vrev RHS
-    1482063974U, // <u,4,u,0>: Cost 2 vext1 <0,u,4,u>, LHS
+    1482064564U, // <u,4,u,0>: Cost 2 vext1 <0,u,4,u>, <0,u,4,u>
     1551431470U, // <u,4,u,1>: Cost 2 vext2 <1,2,u,4>, LHS
     1494009958U, // <u,4,u,2>: Cost 2 vext1 <2,u,4,u>, <2,u,4,u>
-    2555807894U, // <u,4,u,3>: Cost 3 vext1 <0,u,4,u>, <3,0,1,2>
+    1756365469U, // <u,4,u,3>: Cost 2 vuzpr <1,u,3,4>, LHS
     161926454U,  // <u,4,u,4>: Cost 1 vdup0 RHS
-    1551431834U, // <u,4,u,5>: Cost 2 vext2 <1,2,u,4>, RHS
+    791457078U,  // <u,4,u,5>: Cost 1 vzipl LHS, RHS
     537751081U,  // <u,4,u,6>: Cost 1 vext3 LHS, RHS
-    2830110249U, // <u,4,u,7>: Cost 3 vuzpr <1,u,3,4>, RHS
+    1756368425U, // <u,4,u,7>: Cost 2 vuzpr <1,u,3,4>, RHS
     537751099U,  // <u,4,u,u>: Cost 1 vext3 LHS, RHS
-    2631811072U, // <u,5,0,0>: Cost 3 vext2 <2,3,u,5>, <0,0,0,0>
-    1558069350U, // <u,5,0,1>: Cost 2 vext2 <2,3,u,5>, LHS
-    2619203823U, // <u,5,0,2>: Cost 3 vext2 <0,2,u,5>, <0,2,u,5>
+    2823995392U, // <u,5,0,0>: Cost 3 vuzpr <0,u,1,5>, <0,0,0,0>
+    1549443174U, // <u,5,0,1>: Cost 2 vext2 <0,u,u,5>, LHS
+    1727914086U, // <u,5,0,2>: Cost 2 vuzpl <u,3,5,7>, LHS
     2619867456U, // <u,5,0,3>: Cost 3 vext2 <0,3,u,5>, <0,3,u,5>
     1546273106U, // <u,5,0,4>: Cost 2 vext2 <0,4,1,5>, <0,4,1,5>
-    2733010539U, // <u,5,0,5>: Cost 3 vext3 LHS, <5,0,5,1>
-    2597622682U, // <u,5,0,6>: Cost 3 vext1 <7,u,5,0>, <6,7,u,5>
-    1176539396U, // <u,5,0,7>: Cost 2 vrev <5,u,7,0>
-    1558069917U, // <u,5,0,u>: Cost 2 vext2 <2,3,u,5>, LHS
+    2987224282U, // <u,5,0,5>: Cost 3 vzipr <5,6,u,0>, <4,4,5,5>
+    2960681474U, // <u,5,0,6>: Cost 3 vzipr <1,2,u,0>, <3,4,5,6>
+    2024770870U, // <u,5,0,7>: Cost 2 vtrnr <1,u,3,0>, RHS
+    1549443797U, // <u,5,0,u>: Cost 2 vext2 <0,u,u,5>, <0,u,u,5>
     1505968230U, // <u,5,1,0>: Cost 2 vext1 <4,u,5,1>, LHS
-    2624512887U, // <u,5,1,1>: Cost 3 vext2 <1,1,u,5>, <1,1,u,5>
-    2631811990U, // <u,5,1,2>: Cost 3 vext2 <2,3,u,5>, <1,2,3,0>
-    2618541056U, // <u,5,1,3>: Cost 3 vext2 <0,1,u,5>, <1,3,5,7>
-    1505971510U, // <u,5,1,4>: Cost 2 vext1 <4,u,5,1>, RHS
-    2627167419U, // <u,5,1,5>: Cost 3 vext2 <1,5,u,5>, <1,5,u,5>
-    2579714554U, // <u,5,1,6>: Cost 3 vext1 <4,u,5,1>, <6,2,7,3>
-    1638330064U, // <u,5,1,7>: Cost 2 vext3 RHS, <5,1,7,3>
-    1638477529U, // <u,5,1,u>: Cost 2 vext3 RHS, <5,1,u,3>
-    2561802342U, // <u,5,2,0>: Cost 3 vext1 <1,u,5,2>, LHS
-    2561803264U, // <u,5,2,1>: Cost 3 vext1 <1,u,5,2>, <1,3,5,7>
-    2631149217U, // <u,5,2,2>: Cost 3 vext2 <2,2,u,5>, <2,2,u,5>
+    1860554448U, // <u,5,1,1>: Cost 2 vzipl LHS, <5,1,7,3>
+    2623185814U, // <u,5,1,2>: Cost 3 vext2 <0,u,u,5>, <1,2,3,0>
+    1750253670U, // <u,5,1,3>: Cost 2 vuzpr <0,u,1,5>, LHS
+    1505971738U, // <u,5,1,4>: Cost 2 vext1 <4,u,5,1>, <4,u,5,1>
+    1860554756U, // <u,5,1,5>: Cost 2 vzipl LHS, <5,5,5,5>
+    1860554850U, // <u,5,1,6>: Cost 2 vzipl LHS, <5,6,7,0>
+    2018659638U, // <u,5,1,7>: Cost 2 vtrnr <0,u,1,1>, RHS
+    2018659639U, // <u,5,1,u>: Cost 2 vtrnr <0,u,1,1>, RHS
+    2823996310U, // <u,5,2,0>: Cost 3 vuzpr <0,u,1,5>, <1,2,3,0>
+    1994772608U, // <u,5,2,1>: Cost 2 vtrnl LHS, <5,7,1,3>
+    2823995556U, // <u,5,2,2>: Cost 3 vuzpr <0,u,1,5>, <0,2,0,2>
     1558071026U, // <u,5,2,3>: Cost 2 vext2 <2,3,u,5>, <2,3,u,5>
-    2561805622U, // <u,5,2,4>: Cost 3 vext1 <1,u,5,2>, RHS
-    2714062607U, // <u,5,2,5>: Cost 3 vext3 RHS, <5,2,5,3>
-    2631813050U, // <u,5,2,6>: Cost 3 vext2 <2,3,u,5>, <2,6,3,7>
-    3092335926U, // <u,5,2,7>: Cost 3 vtrnr <0,u,0,2>, RHS
-    1561389191U, // <u,5,2,u>: Cost 2 vext2 <2,u,u,5>, <2,u,u,5>
-    2561810534U, // <u,5,3,0>: Cost 3 vext1 <1,u,5,3>, LHS
-    2561811857U, // <u,5,3,1>: Cost 3 vext1 <1,u,5,3>, <1,u,5,3>
+    2823996314U, // <u,5,2,4>: Cost 3 vuzpr <0,u,1,5>, <1,2,3,4>
+    1994772484U, // <u,5,2,5>: Cost 2 vtrnl LHS, <5,5,5,5>
+    2954725890U, // <u,5,2,6>: Cost 3 vzipr <0,2,u,2>, <3,4,5,6>
+    2018594102U, // <u,5,2,7>: Cost 2 vtrnr <0,u,0,2>, RHS
+    2018594103U, // <u,5,2,u>: Cost 2 vtrnr <0,u,0,2>, RHS
+    2958715874U, // <u,5,3,0>: Cost 3 vzipr LHS, <4,1,5,0>
+    1176121553U, // <u,5,3,1>: Cost 2 vrev <5,u,1,3>
     2631813474U, // <u,5,3,2>: Cost 3 vext2 <2,3,u,5>, <3,2,5,u>
-    2631813532U, // <u,5,3,3>: Cost 3 vext2 <2,3,u,5>, <3,3,3,3>
+    2954070284U, // <u,5,3,3>: Cost 3 vzipr LHS, <3,1,5,3>
     2619869698U, // <u,5,3,4>: Cost 3 vext2 <0,3,u,5>, <3,4,5,6>
-    3001847002U, // <u,5,3,5>: Cost 3 vzipr LHS, <4,4,5,5>
-    2954070530U, // <u,5,3,6>: Cost 3 vzipr LHS, <3,4,5,6>
-    2018749750U, // <u,5,3,7>: Cost 2 vtrnr LHS, RHS
-    2018749751U, // <u,5,3,u>: Cost 2 vtrnr LHS, RHS
-    2573762662U, // <u,5,4,0>: Cost 3 vext1 <3,u,5,4>, LHS
-    2620017634U, // <u,5,4,1>: Cost 3 vext2 <0,4,1,5>, <4,1,5,0>
-    2573764338U, // <u,5,4,2>: Cost 3 vext1 <3,u,5,4>, <2,3,u,5>
+    1928105178U, // <u,5,3,5>: Cost 2 vzipr LHS, <4,4,5,5>
+    1880328706U, // <u,5,3,6>: Cost 2 vzipr LHS, <3,4,5,6>
+    945007926U,  // <u,5,3,7>: Cost 1 vtrnr LHS, RHS
+    945007927U,  // <u,5,3,u>: Cost 1 vtrnr LHS, RHS
+    2836166713U, // <u,5,4,0>: Cost 3 vuzpr <2,u,4,5>, <u,4,5,0>
+    2717011858U, // <u,5,4,1>: Cost 3 vext3 <5,4,1,u>, <5,4,1,u>
+    2836166715U, // <u,5,4,2>: Cost 3 vuzpr <2,u,4,5>, <u,4,5,2>
     2573765444U, // <u,5,4,3>: Cost 3 vext1 <3,u,5,4>, <3,u,5,4>
-    1570680053U, // <u,5,4,4>: Cost 2 vext2 <4,4,u,5>, <4,4,u,5>
-    1558072630U, // <u,5,4,5>: Cost 2 vext2 <2,3,u,5>, RHS
-    2645749143U, // <u,5,4,6>: Cost 3 vext2 <4,6,u,5>, <4,6,u,5>
-    1638330310U, // <u,5,4,7>: Cost 2 vext3 RHS, <5,4,7,6>
-    1558072873U, // <u,5,4,u>: Cost 2 vext2 <2,3,u,5>, RHS
+    1845022662U, // <u,5,4,4>: Cost 2 vzipl <5,4,7,6>, <5,4,7,6>
+    1549446454U, // <u,5,4,5>: Cost 2 vext2 <0,u,u,5>, RHS
+    1727917366U, // <u,5,4,6>: Cost 2 vuzpl <u,3,5,7>, RHS
+    2024803638U, // <u,5,4,7>: Cost 2 vtrnr <1,u,3,4>, RHS
+    1549446697U, // <u,5,4,u>: Cost 2 vext2 <0,u,u,5>, RHS
     1506000998U, // <u,5,5,0>: Cost 2 vext1 <4,u,5,5>, LHS
-    2561827984U, // <u,5,5,1>: Cost 3 vext1 <1,u,5,5>, <1,5,3,7>
-    2579744360U, // <u,5,5,2>: Cost 3 vext1 <4,u,5,5>, <2,2,2,2>
-    2579744918U, // <u,5,5,3>: Cost 3 vext1 <4,u,5,5>, <3,0,1,2>
-    1506004278U, // <u,5,5,4>: Cost 2 vext1 <4,u,5,5>, RHS
+    1863536336U, // <u,5,5,1>: Cost 2 vzipl RHS, <5,1,7,3>
+    2967358274U, // <u,5,5,2>: Cost 3 vzipr <2,3,u,5>, <3,u,5,2>
+    2824001641U, // <u,5,5,3>: Cost 3 vuzpr <0,u,1,5>, <u,5,1,3>
+    1506004510U, // <u,5,5,4>: Cost 2 vext1 <4,u,5,5>, <4,u,5,5>
     229035318U,  // <u,5,5,5>: Cost 1 vdup1 RHS
-    2712072206U, // <u,5,5,6>: Cost 3 vext3 RHS, <5,5,6,6>
-    1638330392U, // <u,5,5,7>: Cost 2 vext3 RHS, <5,5,7,7>
+    1863536738U, // <u,5,5,6>: Cost 2 vzipl RHS, <5,6,7,0>
+    1750256950U, // <u,5,5,7>: Cost 2 vuzpr <0,u,1,5>, RHS
     229035318U,  // <u,5,5,u>: Cost 1 vdup1 RHS
     1500037222U, // <u,5,6,0>: Cost 2 vext1 <3,u,5,6>, LHS
-    2561836436U, // <u,5,6,1>: Cost 3 vext1 <1,u,5,6>, <1,u,5,6>
+    1997754496U, // <u,5,6,1>: Cost 2 vtrnl RHS, <5,7,1,3>
     2567809133U, // <u,5,6,2>: Cost 3 vext1 <2,u,5,6>, <2,u,5,6>
     1500040006U, // <u,5,6,3>: Cost 2 vext1 <3,u,5,6>, <3,u,5,6>
     1500040502U, // <u,5,6,4>: Cost 2 vext1 <3,u,5,6>, RHS
-    2714062935U, // <u,5,6,5>: Cost 3 vext3 RHS, <5,6,5,7>
-    2712072288U, // <u,5,6,6>: Cost 3 vext3 RHS, <5,6,6,7>
+    1997754372U, // <u,5,6,5>: Cost 2 vtrnl RHS, <5,5,5,5>
+    1900038658U, // <u,5,6,6>: Cost 2 vzipr <3,4,5,6>, <3,4,5,6>
     27705344U,   // <u,5,6,7>: Cost 0 copy RHS
     27705344U,   // <u,5,6,u>: Cost 0 copy RHS
     1488101478U, // <u,5,7,0>: Cost 2 vext1 <1,u,5,7>, LHS
@@ -6329,99 +6327,99 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     2561845398U, // <u,5,7,3>: Cost 3 vext1 <1,u,5,7>, <3,0,1,2>
     1488104758U, // <u,5,7,4>: Cost 2 vext1 <1,u,5,7>, RHS
     1638330536U, // <u,5,7,5>: Cost 2 vext3 RHS, <5,7,5,7>
-    2712072362U, // <u,5,7,6>: Cost 3 vext3 RHS, <5,7,6,0>
-    2042965302U, // <u,5,7,7>: Cost 2 vtrnr RHS, RHS
-    1488107310U, // <u,5,7,u>: Cost 2 vext1 <1,u,5,7>, LHS
+    1906903554U, // <u,5,7,6>: Cost 2 vzipr RHS, <3,4,5,6>
+    969223478U,  // <u,5,7,7>: Cost 1 vtrnr RHS, RHS
+    969223479U,  // <u,5,7,u>: Cost 1 vtrnr RHS, RHS
     1488109670U, // <u,5,u,0>: Cost 2 vext1 <1,u,5,u>, LHS
-    1488110998U, // <u,5,u,1>: Cost 2 vext1 <1,u,5,u>, <1,u,5,u>
-    2561853032U, // <u,5,u,2>: Cost 3 vext1 <1,u,5,u>, <2,2,2,2>
-    1500056392U, // <u,5,u,3>: Cost 2 vext1 <3,u,5,u>, <3,u,5,u>
+    1549449006U, // <u,5,u,1>: Cost 2 vext2 <0,u,u,5>, LHS
+    1727919918U, // <u,5,u,2>: Cost 2 vuzpl <u,3,5,7>, LHS
+    1750254237U, // <u,5,u,3>: Cost 2 vuzpr <0,u,1,5>, LHS
     1488112950U, // <u,5,u,4>: Cost 2 vext1 <1,u,5,u>, RHS
     229035318U,  // <u,5,u,5>: Cost 1 vdup1 RHS
-    2954111490U, // <u,5,u,6>: Cost 3 vzipr LHS, <3,4,5,6>
+    1880369666U, // <u,5,u,6>: Cost 2 vzipr LHS, <3,4,5,6>
     27705344U,   // <u,5,u,7>: Cost 0 copy RHS
     27705344U,   // <u,5,u,u>: Cost 0 copy RHS
-    2619211776U, // <u,6,0,0>: Cost 3 vext2 <0,2,u,6>, <0,0,0,0>
+    1729314816U, // <u,6,0,0>: Cost 2 vuzpl RHS, <0,0,0,0>
     1545470054U, // <u,6,0,1>: Cost 2 vext2 <0,2,u,6>, LHS
-    1545470192U, // <u,6,0,2>: Cost 2 vext2 <0,2,u,6>, <0,2,u,6>
+    655573094U,  // <u,6,0,2>: Cost 1 vuzpl RHS, LHS
     2255958969U, // <u,6,0,3>: Cost 3 vrev <6,u,3,0>
     1546797458U, // <u,6,0,4>: Cost 2 vext2 <0,4,u,6>, <0,4,u,6>
-    2720624971U, // <u,6,0,5>: Cost 3 vext3 <6,0,5,u>, <6,0,5,u>
-    2256180180U, // <u,6,0,6>: Cost 3 vrev <6,u,6,0>
-    2960682294U, // <u,6,0,7>: Cost 3 vzipr <1,2,u,0>, RHS
-    1545470621U, // <u,6,0,u>: Cost 2 vext2 <0,2,u,6>, LHS
+    2585751803U, // <u,6,0,5>: Cost 3 vext1 <5,u,6,0>, <5,u,6,0>
+    2987224292U, // <u,6,0,6>: Cost 3 vzipr <5,6,u,0>, <4,4,6,6>
+    1886940470U, // <u,6,0,7>: Cost 2 vzipr <1,2,u,0>, RHS
+    655573148U,  // <u,6,0,u>: Cost 1 vuzpl RHS, LHS
     1182004127U, // <u,6,1,0>: Cost 2 vrev <6,u,0,1>
-    2619212596U, // <u,6,1,1>: Cost 3 vext2 <0,2,u,6>, <1,1,1,1>
-    2619212694U, // <u,6,1,2>: Cost 3 vext2 <0,2,u,6>, <1,2,3,0>
-    2619212760U, // <u,6,1,3>: Cost 3 vext2 <0,2,u,6>, <1,3,1,3>
+    1729315636U, // <u,6,1,1>: Cost 2 vuzpl RHS, <1,1,1,1>
+    1860555258U, // <u,6,1,2>: Cost 2 vzipl LHS, <6,2,7,3>
+    1750335590U, // <u,6,1,3>: Cost 2 vuzpr <0,u,2,6>, LHS
     2626511979U, // <u,6,1,4>: Cost 3 vext2 <1,4,u,6>, <1,4,u,6>
-    2619212944U, // <u,6,1,5>: Cost 3 vext2 <0,2,u,6>, <1,5,3,7>
-    2714063264U, // <u,6,1,6>: Cost 3 vext3 RHS, <6,1,6,3>
-    2967326006U, // <u,6,1,7>: Cost 3 vzipr <2,3,u,1>, RHS
-    1182594023U, // <u,6,1,u>: Cost 2 vrev <6,u,u,1>
+    1729315840U, // <u,6,1,5>: Cost 2 vuzpl RHS, <1,3,5,7>
+    1860555576U, // <u,6,1,6>: Cost 2 vzipl LHS, <6,6,6,6>
+    1884958006U, // <u,6,1,7>: Cost 2 vzipr <0,u,u,1>, RHS
+    1750335595U, // <u,6,1,u>: Cost 2 vuzpr <0,u,2,6>, LHS
     1506050150U, // <u,6,2,0>: Cost 2 vext1 <4,u,6,2>, LHS
     2579792630U, // <u,6,2,1>: Cost 3 vext1 <4,u,6,2>, <1,0,3,2>
-    2619213416U, // <u,6,2,2>: Cost 3 vext2 <0,2,u,6>, <2,2,2,2>
-    2619213478U, // <u,6,2,3>: Cost 3 vext2 <0,2,u,6>, <2,3,0,1>
-    1506053430U, // <u,6,2,4>: Cost 2 vext1 <4,u,6,2>, RHS
+    1729316456U, // <u,6,2,2>: Cost 2 vuzpl RHS, <2,2,2,2>
+    1729316466U, // <u,6,2,3>: Cost 2 vuzpl RHS, <2,2,3,3>
+    1506053668U, // <u,6,2,4>: Cost 2 vext1 <4,u,6,2>, <4,u,6,2>
     2633148309U, // <u,6,2,5>: Cost 3 vext2 <2,5,u,6>, <2,5,u,6>
-    2619213754U, // <u,6,2,6>: Cost 3 vext2 <0,2,u,6>, <2,6,3,7>
-    1638330874U, // <u,6,2,7>: Cost 2 vext3 RHS, <6,2,7,3>
-    1638478339U, // <u,6,2,u>: Cost 2 vext3 RHS, <6,2,u,3>
-    2619213974U, // <u,6,3,0>: Cost 3 vext2 <0,2,u,6>, <3,0,1,2>
-    2255836074U, // <u,6,3,1>: Cost 3 vrev <6,u,1,3>
-    2255909811U, // <u,6,3,2>: Cost 3 vrev <6,u,2,3>
-    2619214236U, // <u,6,3,3>: Cost 3 vext2 <0,2,u,6>, <3,3,3,3>
+    1994773304U, // <u,6,2,6>: Cost 2 vtrnl LHS, <6,6,6,6>
+    1880984886U, // <u,6,2,7>: Cost 2 vzipr <0,2,u,2>, RHS
+    1880984887U, // <u,6,2,u>: Cost 2 vzipr <0,2,u,2>, RHS
+    2066526306U, // <u,6,3,0>: Cost 2 vtrnr LHS, <5,6,7,0>
+    1729317014U, // <u,6,3,1>: Cost 2 vuzpl RHS, <3,0,1,2>
+    1928104860U, // <u,6,3,2>: Cost 2 vzipr LHS, <4,0,6,2>
+    1729317276U, // <u,6,3,3>: Cost 2 vuzpl RHS, <3,3,3,3>
     1564715549U, // <u,6,3,4>: Cost 2 vext2 <3,4,u,6>, <3,4,u,6>
-    2639121006U, // <u,6,3,5>: Cost 3 vext2 <3,5,u,6>, <3,5,u,6>
-    3001847012U, // <u,6,3,6>: Cost 3 vzipr LHS, <4,4,6,6>
-    1880329526U, // <u,6,3,7>: Cost 2 vzipr LHS, RHS
-    1880329527U, // <u,6,3,u>: Cost 2 vzipr LHS, RHS
-    2567864422U, // <u,6,4,0>: Cost 3 vext1 <2,u,6,4>, LHS
-    2733011558U, // <u,6,4,1>: Cost 3 vext3 LHS, <6,4,1,3>
+    1729317378U, // <u,6,3,5>: Cost 2 vuzpl RHS, <3,4,5,6>
+    1928105188U, // <u,6,3,6>: Cost 2 vzipr LHS, <4,4,6,6>
+    806587702U,  // <u,6,3,7>: Cost 1 vzipr LHS, RHS
+    806587703U,  // <u,6,3,u>: Cost 1 vzipr LHS, RHS
+    1729318220U, // <u,6,4,0>: Cost 2 vuzpl RHS, <4,6,0,2>
+    2722984555U, // <u,6,4,1>: Cost 3 vext3 <6,4,1,u>, <6,4,1,u>
     2567866484U, // <u,6,4,2>: Cost 3 vext1 <2,u,6,4>, <2,u,6,4>
     2638458005U, // <u,6,4,3>: Cost 3 vext2 <3,4,u,6>, <4,3,6,u>
-    1570540772U, // <u,6,4,4>: Cost 2 vext2 <4,4,6,6>, <4,4,6,6>
+    1729318096U, // <u,6,4,4>: Cost 2 vuzpl RHS, <4,4,4,4>
     1545473334U, // <u,6,4,5>: Cost 2 vext2 <0,2,u,6>, RHS
-    1572015512U, // <u,6,4,6>: Cost 2 vext2 <4,6,u,6>, <4,6,u,6>
-    2960715062U, // <u,6,4,7>: Cost 3 vzipr <1,2,u,4>, RHS
-    1545473577U, // <u,6,4,u>: Cost 2 vext2 <0,2,u,6>, RHS
+    655576374U,  // <u,6,4,6>: Cost 1 vuzpl RHS, RHS
+    1886973238U, // <u,6,4,7>: Cost 2 vzipr <1,2,u,4>, RHS
+    655576392U,  // <u,6,4,u>: Cost 1 vuzpl RHS, RHS
     2567872614U, // <u,6,5,0>: Cost 3 vext1 <2,u,6,5>, LHS
-    2645757648U, // <u,6,5,1>: Cost 3 vext2 <4,6,u,6>, <5,1,7,3>
-    2567874490U, // <u,6,5,2>: Cost 3 vext1 <2,u,6,5>, <2,6,3,7>
-    2576501250U, // <u,6,5,3>: Cost 3 vext1 <4,3,6,5>, <3,4,5,6>
+    1729319040U, // <u,6,5,1>: Cost 2 vuzpl RHS, <5,7,1,3>
+    1863537146U, // <u,6,5,2>: Cost 2 vzipl RHS, <6,2,7,3>
+    2842220694U, // <u,6,5,3>: Cost 3 vuzpr <3,u,5,6>, <u,5,6,3>
     1576660943U, // <u,6,5,4>: Cost 2 vext2 <5,4,u,6>, <5,4,u,6>
-    2645757956U, // <u,6,5,5>: Cost 3 vext2 <4,6,u,6>, <5,5,5,5>
-    2645758050U, // <u,6,5,6>: Cost 3 vext2 <4,6,u,6>, <5,6,7,0>
-    2824080694U, // <u,6,5,7>: Cost 3 vuzpr <0,u,2,6>, RHS
-    1182626795U, // <u,6,5,u>: Cost 2 vrev <6,u,u,5>
+    1729318916U, // <u,6,5,5>: Cost 2 vuzpl RHS, <5,5,5,5>
+    1863537464U, // <u,6,5,6>: Cost 2 vzipl RHS, <6,6,6,6>
+    1750338870U, // <u,6,5,7>: Cost 2 vuzpr <0,u,2,6>, RHS
+    1750338871U, // <u,6,5,u>: Cost 2 vuzpr <0,u,2,6>, RHS
     1506082918U, // <u,6,6,0>: Cost 2 vext1 <4,u,6,6>, LHS
     2579825398U, // <u,6,6,1>: Cost 3 vext1 <4,u,6,6>, <1,0,3,2>
-    2645758458U, // <u,6,6,2>: Cost 3 vext2 <4,6,u,6>, <6,2,7,3>
-    2579826838U, // <u,6,6,3>: Cost 3 vext1 <4,u,6,6>, <3,0,1,2>
-    1506086198U, // <u,6,6,4>: Cost 2 vext1 <4,u,6,6>, RHS
+    2712072981U, // <u,6,6,2>: Cost 3 vext3 RHS, <6,6,2,7>
+    2824083642U, // <u,6,6,3>: Cost 3 vuzpr <0,u,2,6>, <u,6,1,3>
+    1506086440U, // <u,6,6,4>: Cost 2 vext1 <4,u,6,6>, <4,u,6,6>
     2579828432U, // <u,6,6,5>: Cost 3 vext1 <4,u,6,6>, <5,1,7,3>
     296144182U,  // <u,6,6,6>: Cost 1 vdup2 RHS
-    1638331202U, // <u,6,6,7>: Cost 2 vext3 RHS, <6,6,7,7>
+    1881017654U, // <u,6,6,7>: Cost 2 vzipr <0,2,u,6>, RHS
     296144182U,  // <u,6,6,u>: Cost 1 vdup2 RHS
     432349286U,  // <u,6,7,0>: Cost 1 vext1 RHS, LHS
     1506091766U, // <u,6,7,1>: Cost 2 vext1 RHS, <1,0,3,2>
-    1506092648U, // <u,6,7,2>: Cost 2 vext1 RHS, <2,2,2,2>
+    1906903964U, // <u,6,7,2>: Cost 2 vzipr RHS, <4,0,6,2>
     1506093206U, // <u,6,7,3>: Cost 2 vext1 RHS, <3,0,1,2>
     432352809U,  // <u,6,7,4>: Cost 1 vext1 RHS, RHS
     1506094800U, // <u,6,7,5>: Cost 2 vext1 RHS, <5,1,7,3>
-    1506095610U, // <u,6,7,6>: Cost 2 vext1 RHS, <6,2,7,3>
-    1906904374U, // <u,6,7,7>: Cost 2 vzipr RHS, RHS
-    432355118U,  // <u,6,7,u>: Cost 1 vext1 RHS, LHS
+    1906904292U, // <u,6,7,6>: Cost 2 vzipr RHS, <4,4,6,6>
+    833162550U,  // <u,6,7,7>: Cost 1 vzipr RHS, RHS
+    833162551U,  // <u,6,7,u>: Cost 1 vzipr RHS, RHS
     432357478U,  // <u,6,u,0>: Cost 1 vext1 RHS, LHS
     1545475886U, // <u,6,u,1>: Cost 2 vext2 <0,2,u,6>, LHS
-    1506100840U, // <u,6,u,2>: Cost 2 vext1 RHS, <2,2,2,2>
-    1506101398U, // <u,6,u,3>: Cost 2 vext1 RHS, <3,0,1,2>
+    655578926U,  // <u,6,u,2>: Cost 1 vuzpl RHS, LHS
+    1750336157U, // <u,6,u,3>: Cost 2 vuzpr <0,u,2,6>, LHS
     432361002U,  // <u,6,u,4>: Cost 1 vext1 RHS, RHS
     1545476250U, // <u,6,u,5>: Cost 2 vext2 <0,2,u,6>, RHS
-    296144182U,  // <u,6,u,6>: Cost 1 vdup2 RHS
-    1880370486U, // <u,6,u,7>: Cost 2 vzipr LHS, RHS
-    432363310U,  // <u,6,u,u>: Cost 1 vext1 RHS, LHS
+    655579290U,  // <u,6,u,6>: Cost 1 vuzpl RHS, RHS
+    806628662U,  // <u,6,u,7>: Cost 1 vzipr LHS, RHS
+    806628663U,  // <u,6,u,u>: Cost 1 vzipr LHS, RHS
     1571356672U, // <u,7,0,0>: Cost 2 vext2 RHS, <0,0,0,0>
     497614950U,  // <u,7,0,1>: Cost 1 vext2 RHS, LHS
     1571356836U, // <u,7,0,2>: Cost 2 vext2 RHS, <0,2,0,2>
@@ -6429,152 +6427,152 @@ static const unsigned PerfectShuffleTable[6561 + 1] = {
     1571357010U, // <u,7,0,4>: Cost 2 vext2 RHS, <0,4,1,5>
     1512083716U, // <u,7,0,5>: Cost 2 vext1 <5,u,7,0>, <5,u,7,0>
     2621874741U, // <u,7,0,6>: Cost 3 vext2 <0,6,u,7>, <0,6,u,7>
-    2585826298U, // <u,7,0,7>: Cost 3 vext1 <5,u,7,0>, <7,0,1,2>
+    2848269798U, // <u,7,0,7>: Cost 3 vuzpr RHS, <2,0,5,7>
     497615517U,  // <u,7,0,u>: Cost 1 vext2 RHS, LHS
     1571357430U, // <u,7,1,0>: Cost 2 vext2 RHS, <1,0,3,2>
     1571357492U, // <u,7,1,1>: Cost 2 vext2 RHS, <1,1,1,1>
     1571357590U, // <u,7,1,2>: Cost 2 vext2 RHS, <1,2,3,0>
-    1552114715U, // <u,7,1,3>: Cost 2 vext2 <1,3,u,7>, <1,3,u,7>
-    2573888822U, // <u,7,1,4>: Cost 3 vext1 <3,u,7,1>, RHS
+    700784742U,  // <u,7,1,3>: Cost 1 vuzpr RHS, LHS
+    1860556134U, // <u,7,1,4>: Cost 2 vzipl LHS, <7,4,5,6>
     1553441981U, // <u,7,1,5>: Cost 2 vext2 <1,5,u,7>, <1,5,u,7>
     2627847438U, // <u,7,1,6>: Cost 3 vext2 <1,6,u,7>, <1,6,u,7>
-    2727408775U, // <u,7,1,7>: Cost 3 vext3 <7,1,7,u>, <7,1,7,u>
-    1555432880U, // <u,7,1,u>: Cost 2 vext2 <1,u,u,7>, <1,u,u,7>
-    2629838337U, // <u,7,2,0>: Cost 3 vext2 <2,0,u,7>, <2,0,u,7>
+    1860556396U, // <u,7,1,7>: Cost 2 vzipl LHS, <7,7,7,7>
+    700784747U,  // <u,7,1,u>: Cost 1 vuzpr RHS, LHS
+    1774527382U, // <u,7,2,0>: Cost 2 vuzpr RHS, <1,2,3,0>
     1188058754U, // <u,7,2,1>: Cost 2 vrev <7,u,1,2>
     1571358312U, // <u,7,2,2>: Cost 2 vext2 RHS, <2,2,2,2>
     1571358374U, // <u,7,2,3>: Cost 2 vext2 RHS, <2,3,0,1>
-    2632492869U, // <u,7,2,4>: Cost 3 vext2 <2,4,u,7>, <2,4,u,7>
-    2633156502U, // <u,7,2,5>: Cost 3 vext2 <2,5,u,7>, <2,5,u,7>
+    1774527386U, // <u,7,2,4>: Cost 2 vuzpr RHS, <1,2,3,4>
+    1994773862U, // <u,7,2,5>: Cost 2 vtrnl LHS, <7,4,5,6>
     1560078311U, // <u,7,2,6>: Cost 2 vext2 <2,6,u,7>, <2,6,u,7>
-    2728072408U, // <u,7,2,7>: Cost 3 vext3 <7,2,7,u>, <7,2,7,u>
+    1994774124U, // <u,7,2,7>: Cost 2 vtrnl LHS, <7,7,7,7>
     1561405577U, // <u,7,2,u>: Cost 2 vext2 <2,u,u,7>, <2,u,u,7>
     1571358870U, // <u,7,3,0>: Cost 2 vext2 RHS, <3,0,1,2>
-    2627184913U, // <u,7,3,1>: Cost 3 vext2 <1,5,u,7>, <3,1,5,u>
+    1774528166U, // <u,7,3,1>: Cost 2 vuzpr RHS, <2,3,0,1>
     2633820523U, // <u,7,3,2>: Cost 3 vext2 <2,6,u,7>, <3,2,6,u>
     1571359132U, // <u,7,3,3>: Cost 2 vext2 RHS, <3,3,3,3>
     1571359234U, // <u,7,3,4>: Cost 2 vext2 RHS, <3,4,5,6>
-    1512108295U, // <u,7,3,5>: Cost 2 vext1 <5,u,7,3>, <5,u,7,3>
+    1774528206U, // <u,7,3,5>: Cost 2 vuzpr RHS, <2,3,4,5>
     1518080992U, // <u,7,3,6>: Cost 2 vext1 <6,u,7,3>, <6,u,7,3>
-    2640456465U, // <u,7,3,7>: Cost 3 vext2 <3,7,u,7>, <3,7,u,7>
+    1774527488U, // <u,7,3,7>: Cost 2 vuzpr RHS, <1,3,5,7>
     1571359518U, // <u,7,3,u>: Cost 2 vext2 RHS, <3,u,1,2>
     1571359634U, // <u,7,4,0>: Cost 2 vext2 RHS, <4,0,5,1>
     2573911067U, // <u,7,4,1>: Cost 3 vext1 <3,u,7,4>, <1,3,u,7>
-    2645101622U, // <u,7,4,2>: Cost 3 vext2 RHS, <4,2,5,3>
+    2645101621U, // <u,7,4,2>: Cost 3 vext2 RHS, <4,2,5,2>
     2573912918U, // <u,7,4,3>: Cost 3 vext1 <3,u,7,4>, <3,u,7,4>
     1571359952U, // <u,7,4,4>: Cost 2 vext2 RHS, <4,4,4,4>
     497618248U,  // <u,7,4,5>: Cost 1 vext2 RHS, RHS
-    1571360116U, // <u,7,4,6>: Cost 2 vext2 RHS, <4,6,4,6>
+    1571360076U, // <u,7,4,6>: Cost 2 vext2 RHS, <4,6,0,2>
     2645102024U, // <u,7,4,7>: Cost 3 vext2 RHS, <4,7,5,0>
     497618473U,  // <u,7,4,u>: Cost 1 vext2 RHS, RHS
-    2645102152U, // <u,7,5,0>: Cost 3 vext2 RHS, <5,0,1,2>
+    1863537658U, // <u,7,5,0>: Cost 2 vzipl RHS, <7,0,1,2>
     1571360464U, // <u,7,5,1>: Cost 2 vext2 RHS, <5,1,7,3>
     2645102334U, // <u,7,5,2>: Cost 3 vext2 RHS, <5,2,3,4>
     2645102447U, // <u,7,5,3>: Cost 3 vext2 RHS, <5,3,7,0>
     1571360710U, // <u,7,5,4>: Cost 2 vext2 RHS, <5,4,7,6>
     1571360772U, // <u,7,5,5>: Cost 2 vext2 RHS, <5,5,5,5>
     1571360866U, // <u,7,5,6>: Cost 2 vext2 RHS, <5,6,7,0>
-    1571360936U, // <u,7,5,7>: Cost 2 vext2 RHS, <5,7,5,7>
-    1571361017U, // <u,7,5,u>: Cost 2 vext2 RHS, <5,u,5,7>
-    1530044518U, // <u,7,6,0>: Cost 2 vext1 <u,u,7,6>, LHS
-    2645103016U, // <u,7,6,1>: Cost 3 vext2 RHS, <6,1,7,2>
+    700788022U,  // <u,7,5,7>: Cost 1 vuzpr RHS, RHS
+    700788023U,  // <u,7,5,u>: Cost 1 vuzpr RHS, RHS
+    1774530658U, // <u,7,6,0>: Cost 2 vuzpr RHS, <5,6,7,0>
+    1997755386U, // <u,7,6,1>: Cost 2 vtrnl RHS, <7,0,1,2>
     1571361274U, // <u,7,6,2>: Cost 2 vext2 RHS, <6,2,7,3>
     2645103154U, // <u,7,6,3>: Cost 3 vext2 RHS, <6,3,4,5>
-    1530047798U, // <u,7,6,4>: Cost 2 vext1 <u,u,7,6>, RHS
+    1774530662U, // <u,7,6,4>: Cost 2 vuzpr RHS, <5,6,7,4>
     1188386474U, // <u,7,6,5>: Cost 2 vrev <7,u,5,6>
     1571361592U, // <u,7,6,6>: Cost 2 vext2 RHS, <6,6,6,6>
     1571361614U, // <u,7,6,7>: Cost 2 vext2 RHS, <6,7,0,1>
     1571361695U, // <u,7,6,u>: Cost 2 vext2 RHS, <6,u,0,1>
     1571361786U, // <u,7,7,0>: Cost 2 vext2 RHS, <7,0,1,2>
-    2573935616U, // <u,7,7,1>: Cost 3 vext1 <3,u,7,7>, <1,3,5,7>
-    2645103781U, // <u,7,7,2>: Cost 3 vext2 RHS, <7,2,2,2>
-    2573937497U, // <u,7,7,3>: Cost 3 vext1 <3,u,7,7>, <3,u,7,7>
+    1774531406U, // <u,7,7,1>: Cost 2 vuzpr RHS, <6,7,0,1>
+    2969367519U, // <u,7,7,2>: Cost 3 vzipr <2,6,u,7>, <6,u,7,2>
+    1906904784U, // <u,7,7,3>: Cost 2 vzipr RHS, <5,1,7,3>
     1571362150U, // <u,7,7,4>: Cost 2 vext2 RHS, <7,4,5,6>
-    1512141067U, // <u,7,7,5>: Cost 2 vext1 <5,u,7,7>, <5,u,7,7>
-    1518113764U, // <u,7,7,6>: Cost 2 vext1 <6,u,7,7>, <6,u,7,7>
+    1774531446U, // <u,7,7,5>: Cost 2 vuzpr RHS, <6,7,4,5>
+    1906905030U, // <u,7,7,6>: Cost 2 vzipr RHS, <5,4,7,6>
     363253046U,  // <u,7,7,7>: Cost 1 vdup3 RHS
     363253046U,  // <u,7,7,u>: Cost 1 vdup3 RHS
     1571362515U, // <u,7,u,0>: Cost 2 vext2 RHS, <u,0,1,2>
     497620782U,  // <u,7,u,1>: Cost 1 vext2 RHS, LHS
     1571362693U, // <u,7,u,2>: Cost 2 vext2 RHS, <u,2,3,0>
-    1571362748U, // <u,7,u,3>: Cost 2 vext2 RHS, <u,3,0,1>
+    700785309U,  // <u,7,u,3>: Cost 1 vuzpr RHS, LHS
     1571362879U, // <u,7,u,4>: Cost 2 vext2 RHS, <u,4,5,6>
     497621146U,  // <u,7,u,5>: Cost 1 vext2 RHS, RHS
     1571363024U, // <u,7,u,6>: Cost 2 vext2 RHS, <u,6,3,7>
-    363253046U,  // <u,7,u,7>: Cost 1 vdup3 RHS
+    700788265U,  // <u,7,u,7>: Cost 1 vuzpr RHS, RHS
     497621349U,  // <u,7,u,u>: Cost 1 vext2 RHS, LHS
     135053414U,  // <u,u,0,0>: Cost 1 vdup0 LHS
     471081121U,  // <u,u,0,1>: Cost 1 vext2 LHS, LHS
-    1544822948U, // <u,u,0,2>: Cost 2 vext2 LHS, <0,2,0,2>
+    653033574U,  // <u,u,0,2>: Cost 1 vuzpl LHS, LHS
     1616140005U, // <u,u,0,3>: Cost 2 vext3 LHS, <u,0,3,2>
     1544823122U, // <u,u,0,4>: Cost 2 vext2 LHS, <0,4,1,5>
     1512157453U, // <u,u,0,5>: Cost 2 vext1 <5,u,u,0>, <5,u,u,0>
-    1662220032U, // <u,u,0,6>: Cost 2 vext3 RHS, <u,0,6,2>
-    1194457487U, // <u,u,0,7>: Cost 2 vrev <u,u,7,0>
+    1995282586U, // <u,u,0,6>: Cost 2 vtrnl <u,2,0,2>, RHS
+    1886940488U, // <u,u,0,7>: Cost 2 vzipr <1,2,u,0>, RHS
     471081629U,  // <u,u,0,u>: Cost 1 vext2 LHS, LHS
     1544823542U, // <u,u,1,0>: Cost 2 vext2 LHS, <1,0,3,2>
-    202162278U,  // <u,u,1,1>: Cost 1 vdup1 LHS
+    786814766U,  // <u,u,1,1>: Cost 1 vzipl LHS, LHS
     537753390U,  // <u,u,1,2>: Cost 1 vext3 LHS, LHS
-    1544823768U, // <u,u,1,3>: Cost 2 vext2 LHS, <1,3,1,3>
-    1494248758U, // <u,u,1,4>: Cost 2 vext1 <2,u,u,1>, RHS
-    1544823952U, // <u,u,1,5>: Cost 2 vext2 LHS, <1,5,3,7>
+    676610150U,  // <u,u,1,3>: Cost 1 vuzpr LHS, LHS
+    1482304822U, // <u,u,1,4>: Cost 2 vext1 <0,u,u,1>, RHS
+    786815130U,  // <u,u,1,5>: Cost 1 vzipl LHS, RHS
     1518138343U, // <u,u,1,6>: Cost 2 vext1 <6,u,u,1>, <6,u,u,1>
-    1640322907U, // <u,u,1,7>: Cost 2 vext3 RHS, <u,1,7,3>
+    2018659881U, // <u,u,1,7>: Cost 2 vtrnr <0,u,1,1>, RHS
     537753444U,  // <u,u,1,u>: Cost 1 vext3 LHS, LHS
-    1482309734U, // <u,u,2,0>: Cost 2 vext1 <0,u,u,2>, LHS
-    1194031451U, // <u,u,2,1>: Cost 2 vrev <u,u,1,2>
-    269271142U,  // <u,u,2,2>: Cost 1 vdup2 LHS
+    1750352790U, // <u,u,2,0>: Cost 2 vuzpr LHS, <1,2,3,0>
+    1994774226U, // <u,u,2,1>: Cost 2 vtrnl LHS, <u,0,1,1>
+    921032494U,  // <u,u,2,2>: Cost 1 vtrnl LHS, LHS
     835584U,     // <u,u,2,3>: Cost 0 copy LHS
-    1482313014U, // <u,u,2,4>: Cost 2 vext1 <0,u,u,2>, RHS
-    2618566504U, // <u,u,2,5>: Cost 3 vext2 LHS, <2,5,3,6>
-    1544824762U, // <u,u,2,6>: Cost 2 vext2 LHS, <2,6,3,7>
-    1638479788U, // <u,u,2,7>: Cost 2 vext3 RHS, <u,2,7,3>
+    1750352794U, // <u,u,2,4>: Cost 2 vuzpr LHS, <1,2,3,4>
+    1994774511U, // <u,u,2,5>: Cost 2 vtrnl LHS, <u,3,5,7>
+    921032858U,  // <u,u,2,6>: Cost 1 vtrnl LHS, RHS
+    1880984904U, // <u,u,2,7>: Cost 2 vzipr <0,2,u,2>, RHS
     835584U,     // <u,u,2,u>: Cost 0 copy LHS
     408576723U,  // <u,u,3,0>: Cost 1 vext1 LHS, LHS
-    1482318582U, // <u,u,3,1>: Cost 2 vext1 LHS, <1,0,3,2>
+    1880327918U, // <u,u,3,1>: Cost 2 vzipr LHS, <2,3,u,1>
     120371557U,  // <u,u,3,2>: Cost 1 vrev LHS
-    336380006U,  // <u,u,3,3>: Cost 1 vdup3 LHS
+    806584476U,  // <u,u,3,3>: Cost 1 vzipr LHS, LHS
     408579382U,  // <u,u,3,4>: Cost 1 vext1 LHS, RHS
-    1616140271U, // <u,u,3,5>: Cost 2 vext3 LHS, <u,3,5,7>
-    1530098170U, // <u,u,3,6>: Cost 2 vext1 LHS, <6,2,7,3>
-    1880329544U, // <u,u,3,7>: Cost 2 vzipr LHS, RHS
-    408581934U,  // <u,u,3,u>: Cost 1 vext1 LHS, LHS
+    1880327922U, // <u,u,3,5>: Cost 2 vzipr LHS, <2,3,u,5>
+    1880326384U, // <u,u,3,6>: Cost 2 vzipr LHS, <0,2,u,6>
+    806587720U,  // <u,u,3,7>: Cost 1 vzipr LHS, RHS
+    806584481U,  // <u,u,3,u>: Cost 1 vzipr LHS, LHS
     1488298086U, // <u,u,4,0>: Cost 2 vext1 <1,u,u,4>, LHS
     1488299437U, // <u,u,4,1>: Cost 2 vext1 <1,u,u,4>, <1,u,u,4>
     1659271204U, // <u,u,4,2>: Cost 2 vext3 LHS, <u,4,2,6>
-    1194195311U, // <u,u,4,3>: Cost 2 vrev <u,u,3,4>
+    1886970012U, // <u,u,4,3>: Cost 2 vzipr <1,2,u,4>, LHS
     161926454U,  // <u,u,4,4>: Cost 1 vdup0 RHS
     471084342U,  // <u,u,4,5>: Cost 1 vext2 LHS, RHS
-    1571368308U, // <u,u,4,6>: Cost 2 vext2 RHS, <4,6,4,6>
-    1640323153U, // <u,u,4,7>: Cost 2 vext3 RHS, <u,4,7,6>
+    653036854U,  // <u,u,4,6>: Cost 1 vuzpl LHS, RHS
+    1886973256U, // <u,u,4,7>: Cost 2 vzipr <1,2,u,4>, RHS
     471084585U,  // <u,u,4,u>: Cost 1 vext2 LHS, RHS
-    1494278246U, // <u,u,5,0>: Cost 2 vext1 <2,u,u,5>, LHS
-    1571368656U, // <u,u,5,1>: Cost 2 vext2 RHS, <5,1,7,3>
+    1482334933U, // <u,u,5,0>: Cost 2 vext1 <0,u,u,5>, <0,u,u,5>
+    789796654U,  // <u,u,5,1>: Cost 1 vzipl RHS, LHS
     1494280327U, // <u,u,5,2>: Cost 2 vext1 <2,u,u,5>, <2,u,u,5>
-    1616140415U, // <u,u,5,3>: Cost 2 vext3 LHS, <u,5,3,7>
-    1494281526U, // <u,u,5,4>: Cost 2 vext1 <2,u,u,5>, RHS
-    229035318U,  // <u,u,5,5>: Cost 1 vdup1 RHS
+    2018689693U, // <u,u,5,3>: Cost 2 vtrnr <0,u,1,5>, LHS
+    1482337590U, // <u,u,5,4>: Cost 2 vext1 <0,u,u,5>, RHS
+    789797018U,  // <u,u,5,5>: Cost 1 vzipl RHS, RHS
     537753754U,  // <u,u,5,6>: Cost 1 vext3 LHS, RHS
-    1750355254U, // <u,u,5,7>: Cost 2 vuzpr LHS, RHS
+    676613430U,  // <u,u,5,7>: Cost 1 vuzpr LHS, RHS
     537753772U,  // <u,u,5,u>: Cost 1 vext3 LHS, RHS
-    1482342502U, // <u,u,6,0>: Cost 2 vext1 <0,u,u,6>, LHS
-    2556084982U, // <u,u,6,1>: Cost 3 vext1 <0,u,u,6>, <1,0,3,2>
-    1571369466U, // <u,u,6,2>: Cost 2 vext2 RHS, <6,2,7,3>
+    1482343126U, // <u,u,6,0>: Cost 2 vext1 <0,u,u,6>, <0,u,u,6>
+    1997756114U, // <u,u,6,1>: Cost 2 vtrnl RHS, <u,0,1,1>
+    924014382U,  // <u,u,6,2>: Cost 1 vtrnl RHS, LHS
     1611938000U, // <u,u,6,3>: Cost 2 vext3 LHS, <u,6,3,7>
     1482345782U, // <u,u,6,4>: Cost 2 vext1 <0,u,u,6>, RHS
-    1194359171U, // <u,u,6,5>: Cost 2 vrev <u,u,5,6>
-    296144182U,  // <u,u,6,6>: Cost 1 vdup2 RHS
+    1997756150U, // <u,u,6,5>: Cost 2 vtrnl RHS, <u,0,5,1>
+    924014746U,  // <u,u,6,6>: Cost 1 vtrnl RHS, RHS
     27705344U,   // <u,u,6,7>: Cost 0 copy RHS
     27705344U,   // <u,u,6,u>: Cost 0 copy RHS
     432496742U,  // <u,u,7,0>: Cost 1 vext1 RHS, LHS
     1488324016U, // <u,u,7,1>: Cost 2 vext1 <1,u,u,7>, <1,u,u,7>
     1494296713U, // <u,u,7,2>: Cost 2 vext1 <2,u,u,7>, <2,u,u,7>
-    1906901148U, // <u,u,7,3>: Cost 2 vzipr RHS, LHS
+    833159324U,  // <u,u,7,3>: Cost 1 vzipr RHS, LHS
     432500283U,  // <u,u,7,4>: Cost 1 vext1 RHS, RHS
-    1506242256U, // <u,u,7,5>: Cost 2 vext1 RHS, <5,1,7,3>
+    1906901393U, // <u,u,7,5>: Cost 2 vzipr RHS, <0,4,u,5>
     120699277U,  // <u,u,7,6>: Cost 1 vrev RHS
-    363253046U,  // <u,u,7,7>: Cost 1 vdup3 RHS
-    432502574U,  // <u,u,7,u>: Cost 1 vext1 RHS, LHS
+    833162568U,  // <u,u,7,7>: Cost 1 vzipr RHS, RHS
+    833159329U,  // <u,u,7,u>: Cost 1 vzipr RHS, LHS
     408617688U,  // <u,u,u,0>: Cost 1 vext1 LHS, LHS
     471086894U,  // <u,u,u,1>: Cost 1 vext2 LHS, LHS
     537753957U,  // <u,u,u,2>: Cost 1 vext3 LHS, LHS

diff  --git a/llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll b/llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll
index 64cd0504467c1..7872ceffbfa71 100644
--- a/llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll
+++ b/llvm/test/CodeGen/AArch64/aarch64-wide-shuffle.ll
@@ -8,9 +8,9 @@ define <4 x i16> @f(<4 x i32> %vqdmlal_v3.i, <8 x i16> %x5) {
 ; CHECK-LABEL: f:
 ; CHECK:       // %bb.0: // %entry
 ; CHECK-NEXT:    ext v0.16b, v0.16b, v0.16b, #8
-; CHECK-NEXT:    dup v0.4h, v0.h[0]
-; CHECK-NEXT:    ext v0.8b, v0.8b, v1.8b, #2
-; CHECK-NEXT:    ext v0.8b, v0.8b, v0.8b, #4
+; CHECK-NEXT:    uzp1 v0.4h, v0.4h, v0.4h
+; CHECK-NEXT:    ext v1.8b, v0.8b, v1.8b, #4
+; CHECK-NEXT:    uzp1 v0.4h, v1.4h, v0.4h
 ; CHECK-NEXT:    ret
 entry:
   ; Check that we don't just dup the input vector. The code emitted is ext, dup, ext, ext

diff  --git a/llvm/test/CodeGen/AArch64/arm64-dup.ll b/llvm/test/CodeGen/AArch64/arm64-dup.ll
index a5c6df8f6d1a5..aa7cef9b273ef 100644
--- a/llvm/test/CodeGen/AArch64/arm64-dup.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-dup.ll
@@ -446,9 +446,10 @@ define <4 x float> @test_perfectshuffle_dupext_v4f32(<4 x float> %a, <4 x float>
 define void @disguised_dup(<4 x float> %x, <4 x float>* %p1, <4 x float>* %p2) {
 ; CHECK-LABEL: disguised_dup:
 ; CHECK:       // %bb.0:
-; CHECK-NEXT:    ext.16b v1, v0, v0, #12
+; CHECK-NEXT:    uzp1.4s v1, v0, v0
+; CHECK-NEXT:    uzp2.4s v2, v0, v1
 ; CHECK-NEXT:    dup.4s v0, v0[0]
-; CHECK-NEXT:    ext.16b v1, v1, v0, #8
+; CHECK-NEXT:    uzp1.4s v1, v2, v1
 ; CHECK-NEXT:    str q1, [x0]
 ; CHECK-NEXT:    str q0, [x1]
 ; CHECK-NEXT:    ret

diff  --git a/llvm/test/CodeGen/AArch64/arm64-rev.ll b/llvm/test/CodeGen/AArch64/arm64-rev.ll
index 9e1b384b841d6..5f76bc4b3aa42 100644
--- a/llvm/test/CodeGen/AArch64/arm64-rev.ll
+++ b/llvm/test/CodeGen/AArch64/arm64-rev.ll
@@ -561,8 +561,8 @@ define void @float_vrev64(float* nocapture %source, <4 x float>* nocapture %dest
 ; CHECK-NEXT:    movi.2d v0, #0000000000000000
 ; CHECK-NEXT:    ldr q1, [x0]
 ; CHECK-NEXT:    dup.4s v0, v0[0]
-; CHECK-NEXT:    ext.16b v0, v1, v0, #12
-; CHECK-NEXT:    rev64.4s v0, v0
+; CHECK-NEXT:    trn2.4s v1, v1, v0
+; CHECK-NEXT:    ext.16b v0, v1, v0, #4
 ; CHECK-NEXT:    str q0, [x1, #176]
 ; CHECK-NEXT:    ret
 ;

diff  --git a/llvm/test/CodeGen/AArch64/build-vector-extract.ll b/llvm/test/CodeGen/AArch64/build-vector-extract.ll
index cc0a9c41963a0..f648e6dd9b10c 100644
--- a/llvm/test/CodeGen/AArch64/build-vector-extract.ll
+++ b/llvm/test/CodeGen/AArch64/build-vector-extract.ll
@@ -31,8 +31,8 @@ define <2 x i64> @extract1_i32_zext_insert0_i64_undef(<4 x i32> %x) {
 ; CHECK-LABEL: extract1_i32_zext_insert0_i64_undef:
 ; CHECK:       // %bb.0:
 ; CHECK-NEXT:    movi v1.2d, #0000000000000000
-; CHECK-NEXT:    zip1 v0.4s, v0.4s, v0.4s
-; CHECK-NEXT:    ext v0.16b, v0.16b, v1.16b, #12
+; CHECK-NEXT:    zip1 v1.4s, v0.4s, v1.4s
+; CHECK-NEXT:    trn2 v0.4s, v0.4s, v1.4s
 ; CHECK-NEXT:    ret
   %e = extractelement <4 x i32> %x, i32 1
   %z = zext i32 %e to i64
@@ -58,8 +58,8 @@ define <2 x i64> @extract2_i32_zext_insert0_i64_undef(<4 x i32> %x) {
 ; CHECK-LABEL: extract2_i32_zext_insert0_i64_undef:
 ; CHECK:       // %bb.0:
 ; CHECK-NEXT:    movi v1.2d, #0000000000000000
-; CHECK-NEXT:    uzp1 v0.4s, v0.4s, v0.4s
-; CHECK-NEXT:    ext v0.16b, v0.16b, v1.16b, #12
+; CHECK-NEXT:    uzp1 v1.4s, v0.4s, v1.4s
+; CHECK-NEXT:    zip2 v0.4s, v0.4s, v1.4s
 ; CHECK-NEXT:    ret
   %e = extractelement <4 x i32> %x, i32 2
   %z = zext i32 %e to i64
@@ -138,7 +138,7 @@ define <2 x i64> @extract1_i32_zext_insert1_i64_undef(<4 x i32> %x) {
 ; CHECK-LABEL: extract1_i32_zext_insert1_i64_undef:
 ; CHECK:       // %bb.0:
 ; CHECK-NEXT:    movi v1.2d, #0000000000000000
-; CHECK-NEXT:    ext v0.16b, v0.16b, v0.16b, #8
+; CHECK-NEXT:    zip1 v0.4s, v0.4s, v0.4s
 ; CHECK-NEXT:    ext v0.16b, v0.16b, v1.16b, #4
 ; CHECK-NEXT:    ret
   %e = extractelement <4 x i32> %x, i32 1

diff  --git a/llvm/test/CodeGen/AArch64/insert-extend.ll b/llvm/test/CodeGen/AArch64/insert-extend.ll
index 8aae004d78a77..a576bddddf3e9 100644
--- a/llvm/test/CodeGen/AArch64/insert-extend.ll
+++ b/llvm/test/CodeGen/AArch64/insert-extend.ll
@@ -88,120 +88,123 @@ define i32 @large(i8* nocapture noundef readonly %p1, i32 noundef %st1, i8* noca
 ; CHECK-NEXT:    usubl v5.4s, v5.4h, v7.4h
 ; CHECK-NEXT:    ushll v2.8h, v2.8b, #0
 ; CHECK-NEXT:    ushll v3.8h, v3.8b, #0
+; CHECK-NEXT:    shl v5.4s, v5.4s, #16
 ; CHECK-NEXT:    shl v7.4s, v16.4s, #16
 ; CHECK-NEXT:    usubl2 v16.4s, v2.8h, v3.8h
-; CHECK-NEXT:    shl v5.4s, v5.4s, #16
 ; CHECK-NEXT:    usubl v2.4s, v2.4h, v3.4h
+; CHECK-NEXT:    add v0.4s, v7.4s, v0.4s
 ; CHECK-NEXT:    add v3.4s, v5.4s, v6.4s
-; CHECK-NEXT:    shl v5.4s, v16.4s, #16
 ; CHECK-NEXT:    shl v2.4s, v2.4s, #16
-; CHECK-NEXT:    add v0.4s, v7.4s, v0.4s
-; CHECK-NEXT:    add v1.4s, v2.4s, v1.4s
-; CHECK-NEXT:    add v2.4s, v5.4s, v4.4s
+; CHECK-NEXT:    shl v5.4s, v16.4s, #16
 ; CHECK-NEXT:    rev64 v6.4s, v3.4s
 ; CHECK-NEXT:    rev64 v7.4s, v0.4s
+; CHECK-NEXT:    add v1.4s, v2.4s, v1.4s
+; CHECK-NEXT:    add v2.4s, v5.4s, v4.4s
 ; CHECK-NEXT:    rev64 v4.4s, v1.4s
 ; CHECK-NEXT:    rev64 v5.4s, v2.4s
-; CHECK-NEXT:    add v17.4s, v3.4s, v6.4s
 ; CHECK-NEXT:    add v16.4s, v0.4s, v7.4s
-; CHECK-NEXT:    sub v0.4s, v0.4s, v7.4s
+; CHECK-NEXT:    add v17.4s, v3.4s, v6.4s
+; CHECK-NEXT:    add v22.4s, v1.4s, v4.4s
+; CHECK-NEXT:    uzp2 v18.4s, v17.4s, v16.4s
+; CHECK-NEXT:    uzp2 v19.4s, v16.4s, v17.4s
+; CHECK-NEXT:    add v21.4s, v2.4s, v5.4s
 ; CHECK-NEXT:    sub v3.4s, v3.4s, v6.4s
-; CHECK-NEXT:    add v18.4s, v2.4s, v5.4s
-; CHECK-NEXT:    add v19.4s, v1.4s, v4.4s
+; CHECK-NEXT:    trn2 v6.4s, v16.4s, v17.4s
+; CHECK-NEXT:    trn2 v20.4s, v17.4s, v16.4s
 ; CHECK-NEXT:    sub v2.4s, v2.4s, v5.4s
 ; CHECK-NEXT:    sub v1.4s, v1.4s, v4.4s
-; CHECK-NEXT:    trn2 v6.4s, v16.4s, v17.4s
-; CHECK-NEXT:    zip2 v7.4s, v0.4s, v3.4s
-; CHECK-NEXT:    zip1 v0.4s, v0.4s, v3.4s
-; CHECK-NEXT:    trn2 v3.4s, v17.4s, v16.4s
-; CHECK-NEXT:    trn2 v4.4s, v19.4s, v18.4s
+; CHECK-NEXT:    zip1 v4.4s, v22.4s, v21.4s
+; CHECK-NEXT:    uzp2 v17.4s, v18.4s, v17.4s
+; CHECK-NEXT:    zip2 v18.4s, v22.4s, v21.4s
+; CHECK-NEXT:    uzp2 v16.4s, v19.4s, v16.4s
 ; CHECK-NEXT:    zip1 v5.4s, v1.4s, v2.4s
-; CHECK-NEXT:    zip2 v18.4s, v19.4s, v18.4s
-; CHECK-NEXT:    ext v17.16b, v3.16b, v17.16b, #8
-; CHECK-NEXT:    ext v16.16b, v6.16b, v16.16b, #8
-; CHECK-NEXT:    ext v4.16b, v19.16b, v4.16b, #8
+; CHECK-NEXT:    sub v0.4s, v0.4s, v7.4s
+; CHECK-NEXT:    mov v6.d[1], v4.d[1]
+; CHECK-NEXT:    mov v16.d[1], v18.d[1]
+; CHECK-NEXT:    zip2 v7.4s, v0.4s, v3.4s
 ; CHECK-NEXT:    ext v5.16b, v1.16b, v5.16b, #8
+; CHECK-NEXT:    zip1 v0.4s, v0.4s, v3.4s
 ; CHECK-NEXT:    mov v1.s[3], v2.s[2]
+; CHECK-NEXT:    sub v3.4s, v6.4s, v16.4s
 ; CHECK-NEXT:    mov v17.d[1], v18.d[1]
-; CHECK-NEXT:    mov v16.d[1], v18.d[1]
-; CHECK-NEXT:    mov v6.d[1], v4.d[1]
-; CHECK-NEXT:    mov v3.d[1], v4.d[1]
+; CHECK-NEXT:    mov v20.d[1], v4.d[1]
+; CHECK-NEXT:    rev64 v6.4s, v3.4s
 ; CHECK-NEXT:    mov v0.d[1], v5.d[1]
 ; CHECK-NEXT:    mov v7.d[1], v1.d[1]
-; CHECK-NEXT:    sub v1.4s, v6.4s, v16.4s
-; CHECK-NEXT:    add v2.4s, v17.4s, v3.4s
-; CHECK-NEXT:    rev64 v3.4s, v1.4s
-; CHECK-NEXT:    add v5.4s, v7.4s, v0.4s
-; CHECK-NEXT:    sub v0.4s, v0.4s, v7.4s
+; CHECK-NEXT:    add v2.4s, v17.4s, v20.4s
+; CHECK-NEXT:    add v5.4s, v3.4s, v6.4s
+; CHECK-NEXT:    sub v3.4s, v3.4s, v6.4s
+; CHECK-NEXT:    sub v6.4s, v0.4s, v7.4s
+; CHECK-NEXT:    add v0.4s, v7.4s, v0.4s
 ; CHECK-NEXT:    rev64 v4.4s, v2.4s
-; CHECK-NEXT:    rev64 v6.4s, v5.4s
-; CHECK-NEXT:    rev64 v7.4s, v0.4s
-; CHECK-NEXT:    add v16.4s, v1.4s, v3.4s
-; CHECK-NEXT:    sub v1.4s, v1.4s, v3.4s
-; CHECK-NEXT:    add v3.4s, v2.4s, v4.4s
-; CHECK-NEXT:    add v17.4s, v0.4s, v7.4s
-; CHECK-NEXT:    add v18.4s, v5.4s, v6.4s
-; CHECK-NEXT:    sub v5.4s, v5.4s, v6.4s
-; CHECK-NEXT:    sub v0.4s, v0.4s, v7.4s
-; CHECK-NEXT:    ext v16.16b, v1.16b, v16.16b, #12
-; CHECK-NEXT:    ext v6.16b, v5.16b, v18.16b, #12
+; CHECK-NEXT:    rev64 v7.4s, v6.4s
+; CHECK-NEXT:    rev64 v16.4s, v0.4s
+; CHECK-NEXT:    add v1.4s, v2.4s, v4.4s
 ; CHECK-NEXT:    sub v2.4s, v2.4s, v4.4s
-; CHECK-NEXT:    ext v4.16b, v0.16b, v17.16b, #12
-; CHECK-NEXT:    rev64 v3.4s, v3.4s
-; CHECK-NEXT:    ext v7.16b, v16.16b, v1.16b, #4
-; CHECK-NEXT:    ext v17.16b, v6.16b, v5.16b, #4
-; CHECK-NEXT:    ext v18.16b, v6.16b, v6.16b, #8
-; CHECK-NEXT:    ext v19.16b, v4.16b, v0.16b, #4
-; CHECK-NEXT:    ext v20.16b, v4.16b, v4.16b, #8
-; CHECK-NEXT:    ext v21.16b, v16.16b, v16.16b, #8
-; CHECK-NEXT:    rev64 v16.4s, v16.4s
-; CHECK-NEXT:    trn2 v2.4s, v3.4s, v2.4s
-; CHECK-NEXT:    rev64 v3.4s, v4.4s
-; CHECK-NEXT:    rev64 v4.4s, v6.4s
-; CHECK-NEXT:    ext v17.16b, v17.16b, v18.16b, #12
-; CHECK-NEXT:    ext v18.16b, v19.16b, v20.16b, #12
-; CHECK-NEXT:    ext v7.16b, v7.16b, v21.16b, #12
-; CHECK-NEXT:    ext v1.16b, v16.16b, v1.16b, #4
-; CHECK-NEXT:    ext v6.16b, v2.16b, v2.16b, #8
-; CHECK-NEXT:    ext v0.16b, v3.16b, v0.16b, #4
-; CHECK-NEXT:    ext v3.16b, v4.16b, v5.16b, #4
-; CHECK-NEXT:    add v4.4s, v7.4s, v1.4s
-; CHECK-NEXT:    add v5.4s, v2.4s, v6.4s
-; CHECK-NEXT:    add v16.4s, v18.4s, v0.4s
-; CHECK-NEXT:    add v19.4s, v17.4s, v3.4s
-; CHECK-NEXT:    sub v1.4s, v7.4s, v1.4s
-; CHECK-NEXT:    sub v2.4s, v2.4s, v6.4s
-; CHECK-NEXT:    sub v3.4s, v17.4s, v3.4s
-; CHECK-NEXT:    sub v0.4s, v18.4s, v0.4s
-; CHECK-NEXT:    mov v19.d[1], v3.d[1]
-; CHECK-NEXT:    mov v16.d[1], v0.d[1]
-; CHECK-NEXT:    mov v4.d[1], v1.d[1]
-; CHECK-NEXT:    mov v5.d[1], v2.d[1]
+; CHECK-NEXT:    ext v4.16b, v3.16b, v5.16b, #12
+; CHECK-NEXT:    add v5.4s, v6.4s, v7.4s
+; CHECK-NEXT:    add v17.4s, v0.4s, v16.4s
+; CHECK-NEXT:    sub v0.4s, v0.4s, v16.4s
+; CHECK-NEXT:    sub v6.4s, v6.4s, v7.4s
+; CHECK-NEXT:    ext v7.16b, v0.16b, v17.16b, #12
+; CHECK-NEXT:    ext v5.16b, v6.16b, v5.16b, #12
+; CHECK-NEXT:    rev64 v22.4s, v1.4s
+; CHECK-NEXT:    ext v1.16b, v1.16b, v1.16b, #4
+; CHECK-NEXT:    ext v16.16b, v4.16b, v3.16b, #4
+; CHECK-NEXT:    ext v17.16b, v4.16b, v4.16b, #8
+; CHECK-NEXT:    ext v18.16b, v7.16b, v0.16b, #4
+; CHECK-NEXT:    ext v19.16b, v7.16b, v7.16b, #8
+; CHECK-NEXT:    ext v20.16b, v5.16b, v6.16b, #4
+; CHECK-NEXT:    ext v21.16b, v5.16b, v5.16b, #8
+; CHECK-NEXT:    rev64 v5.4s, v5.4s
+; CHECK-NEXT:    rev64 v7.4s, v7.4s
+; CHECK-NEXT:    rev64 v4.4s, v4.4s
+; CHECK-NEXT:    trn2 v1.4s, v2.4s, v1.4s
+; CHECK-NEXT:    ext v16.16b, v16.16b, v17.16b, #12
+; CHECK-NEXT:    ext v17.16b, v18.16b, v19.16b, #12
+; CHECK-NEXT:    ext v18.16b, v20.16b, v21.16b, #12
+; CHECK-NEXT:    trn2 v19.4s, v22.4s, v2.4s
+; CHECK-NEXT:    ext v2.16b, v5.16b, v6.16b, #4
+; CHECK-NEXT:    ext v0.16b, v7.16b, v0.16b, #4
+; CHECK-NEXT:    ext v3.16b, v4.16b, v3.16b, #4
+; CHECK-NEXT:    ext v1.16b, v1.16b, v1.16b, #4
+; CHECK-NEXT:    add v4.4s, v18.4s, v2.4s
+; CHECK-NEXT:    add v5.4s, v17.4s, v0.4s
+; CHECK-NEXT:    add v6.4s, v16.4s, v3.4s
+; CHECK-NEXT:    add v7.4s, v19.4s, v1.4s
+; CHECK-NEXT:    sub v2.4s, v18.4s, v2.4s
+; CHECK-NEXT:    sub v0.4s, v17.4s, v0.4s
+; CHECK-NEXT:    sub v1.4s, v19.4s, v1.4s
+; CHECK-NEXT:    sub v3.4s, v16.4s, v3.4s
+; CHECK-NEXT:    mov v7.d[1], v1.d[1]
+; CHECK-NEXT:    mov v6.d[1], v3.d[1]
+; CHECK-NEXT:    mov v4.d[1], v2.d[1]
+; CHECK-NEXT:    mov v5.d[1], v0.d[1]
 ; CHECK-NEXT:    movi v0.8h, #1
-; CHECK-NEXT:    movi v7.2d, #0x00ffff0000ffff
+; CHECK-NEXT:    movi v17.2d, #0x00ffff0000ffff
 ; CHECK-NEXT:    ushr v1.4s, v4.4s, #15
-; CHECK-NEXT:    ushr v2.4s, v19.4s, #15
+; CHECK-NEXT:    ushr v2.4s, v7.4s, #15
 ; CHECK-NEXT:    ushr v3.4s, v5.4s, #15
-; CHECK-NEXT:    ushr v6.4s, v16.4s, #15
+; CHECK-NEXT:    ushr v16.4s, v6.4s, #15
 ; CHECK-NEXT:    and v2.16b, v2.16b, v0.16b
-; CHECK-NEXT:    and v6.16b, v6.16b, v0.16b
+; CHECK-NEXT:    and v16.16b, v16.16b, v0.16b
 ; CHECK-NEXT:    and v3.16b, v3.16b, v0.16b
 ; CHECK-NEXT:    and v0.16b, v1.16b, v0.16b
-; CHECK-NEXT:    mul v1.4s, v2.4s, v7.4s
-; CHECK-NEXT:    mul v2.4s, v6.4s, v7.4s
-; CHECK-NEXT:    mul v0.4s, v0.4s, v7.4s
-; CHECK-NEXT:    mul v3.4s, v3.4s, v7.4s
-; CHECK-NEXT:    add v6.4s, v1.4s, v19.4s
-; CHECK-NEXT:    add v7.4s, v2.4s, v16.4s
+; CHECK-NEXT:    mul v1.4s, v2.4s, v17.4s
+; CHECK-NEXT:    mul v2.4s, v16.4s, v17.4s
+; CHECK-NEXT:    mul v0.4s, v0.4s, v17.4s
+; CHECK-NEXT:    mul v3.4s, v3.4s, v17.4s
+; CHECK-NEXT:    add v7.4s, v1.4s, v7.4s
+; CHECK-NEXT:    add v6.4s, v2.4s, v6.4s
 ; CHECK-NEXT:    add v4.4s, v0.4s, v4.4s
 ; CHECK-NEXT:    add v5.4s, v3.4s, v5.4s
 ; CHECK-NEXT:    eor v0.16b, v4.16b, v0.16b
 ; CHECK-NEXT:    eor v3.16b, v5.16b, v3.16b
-; CHECK-NEXT:    eor v2.16b, v7.16b, v2.16b
-; CHECK-NEXT:    eor v1.16b, v6.16b, v1.16b
+; CHECK-NEXT:    eor v2.16b, v6.16b, v2.16b
+; CHECK-NEXT:    eor v1.16b, v7.16b, v1.16b
 ; CHECK-NEXT:    add v1.4s, v1.4s, v2.4s
 ; CHECK-NEXT:    add v0.4s, v3.4s, v0.4s
-; CHECK-NEXT:    add v0.4s, v0.4s, v1.4s
+; CHECK-NEXT:    add v0.4s, v1.4s, v0.4s
 ; CHECK-NEXT:    addv s0, v0.4s
 ; CHECK-NEXT:    fmov w8, s0
 ; CHECK-NEXT:    lsr w9, w8, #16

diff  --git a/llvm/test/CodeGen/AArch64/neon-wide-splat.ll b/llvm/test/CodeGen/AArch64/neon-wide-splat.ll
index 16386f5d3e06d..87e0339e6e8c8 100644
--- a/llvm/test/CodeGen/AArch64/neon-wide-splat.ll
+++ b/llvm/test/CodeGen/AArch64/neon-wide-splat.ll
@@ -109,9 +109,9 @@ define <8 x i8> @shuffle_not1(<16 x i8> %v) {
 define <4 x i32> @shuffle_not2(<4 x i32> %v) {
 ; CHECK-LABEL: shuffle_not2:
 ; CHECK:       // %bb.0: // %entry
-; CHECK-NEXT:    ext v1.16b, v0.16b, v0.16b, #4
-; CHECK-NEXT:    ext v0.16b, v0.16b, v1.16b, #8
-; CHECK-NEXT:    ext v0.16b, v0.16b, v1.16b, #8
+; CHECK-NEXT:    trn1 v1.4s, v0.4s, v0.4s
+; CHECK-NEXT:    zip1 v0.4s, v0.4s, v0.4s
+; CHECK-NEXT:    zip2 v0.4s, v0.4s, v1.4s
 ; CHECK-NEXT:    ret
 entry:
   %res = shufflevector <4 x i32> %v, <4 x i32> undef, <4 x i32> <i32 1, i32 2, i32 1, i32 2>

diff  --git a/llvm/test/CodeGen/AArch64/shuffle-tbl34.ll b/llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
index 2389b74084320..67d567c6baf97 100644
--- a/llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
+++ b/llvm/test/CodeGen/AArch64/shuffle-tbl34.ll
@@ -232,9 +232,9 @@ define <8 x i16> @shuffle4_v8i16(<4 x i16> %a, <4 x i16> %b, <4 x i16> %c, <4 x
 define <4 x i32> @shuffle4_v4i32(<4 x i32> %a, <4 x i32> %b, <4 x i32> %c, <4 x i32> %d) {
 ; CHECK-LABEL: shuffle4_v4i32:
 ; CHECK:       // %bb.0:
-; CHECK-NEXT:    ext v2.16b, v2.16b, v3.16b, #8
-; CHECK-NEXT:    ext v4.16b, v1.16b, v1.16b, #8
-; CHECK-NEXT:    ext v1.16b, v3.16b, v2.16b, #12
+; CHECK-NEXT:    rev64 v3.4s, v3.4s
+; CHECK-NEXT:    zip1 v4.4s, v1.4s, v1.4s
+; CHECK-NEXT:    zip2 v1.4s, v3.4s, v2.4s
 ; CHECK-NEXT:    ext v0.16b, v4.16b, v0.16b, #4
 ; CHECK-NEXT:    mov v1.d[1], v0.d[1]
 ; CHECK-NEXT:    mov v0.16b, v1.16b

diff  --git a/llvm/test/CodeGen/AArch64/shuffles.ll b/llvm/test/CodeGen/AArch64/shuffles.ll
index 9365344da11c2..c27bae6815fec 100644
--- a/llvm/test/CodeGen/AArch64/shuffles.ll
+++ b/llvm/test/CodeGen/AArch64/shuffles.ll
@@ -4,11 +4,11 @@
 define <16 x i32> @test_shuf1(<16 x i32> %x, <16 x i32> %y) {
 ; CHECK-LABEL: test_shuf1:
 ; CHECK:       // %bb.0:
-; CHECK-NEXT:    ext v3.16b, v6.16b, v7.16b, #8
+; CHECK-NEXT:    zip2 v3.4s, v7.4s, v6.4s
 ; CHECK-NEXT:    ext v5.16b, v6.16b, v4.16b, #12
 ; CHECK-NEXT:    uzp1 v6.4s, v1.4s, v0.4s
 ; CHECK-NEXT:    uzp2 v4.4s, v2.4s, v4.4s
-; CHECK-NEXT:    ext v3.16b, v3.16b, v3.16b, #12
+; CHECK-NEXT:    trn2 v3.4s, v7.4s, v3.4s
 ; CHECK-NEXT:    ext v5.16b, v7.16b, v5.16b, #8
 ; CHECK-NEXT:    trn2 v6.4s, v6.4s, v1.4s
 ; CHECK-NEXT:    trn1 v2.4s, v4.4s, v2.4s
@@ -28,9 +28,9 @@ define <16 x i32> @test_shuf1(<16 x i32> %x, <16 x i32> %y) {
 define <4 x i32> @test_shuf2(<16 x i32> %x, <16 x i32> %y) {
 ; CHECK-LABEL: test_shuf2:
 ; CHECK:       // %bb.0:
-; CHECK-NEXT:    ext v0.16b, v6.16b, v7.16b, #8
+; CHECK-NEXT:    zip2 v0.4s, v7.4s, v6.4s
 ; CHECK-NEXT:    ext v2.16b, v1.16b, v1.16b, #12
-; CHECK-NEXT:    ext v0.16b, v0.16b, v0.16b, #12
+; CHECK-NEXT:    trn2 v0.4s, v7.4s, v0.4s
 ; CHECK-NEXT:    ext v0.16b, v1.16b, v0.16b, #8
 ; CHECK-NEXT:    ext v0.16b, v0.16b, v2.16b, #8
 ; CHECK-NEXT:    ret
@@ -78,8 +78,8 @@ define <4 x i32> @test1503(<4 x i32> %a, <4 x i32> %b)
 ; CHECK:       // %bb.0:
 ; CHECK-NEXT:    ext v1.16b, v0.16b, v1.16b, #12
 ; CHECK-NEXT:    zip1 v0.4s, v0.4s, v1.4s
-; CHECK-NEXT:    trn1 v1.4s, v0.4s, v1.4s
-; CHECK-NEXT:    ext v0.16b, v1.16b, v0.16b, #8
+; CHECK-NEXT:    trn1 v0.4s, v0.4s, v1.4s
+; CHECK-NEXT:    ext v0.16b, v0.16b, v0.16b, #8
 ; CHECK-NEXT:    ret
 {
   %r = shufflevector <4 x i32> %a, <4 x i32> %b, <4 x i32> <i32 1, i32 5, i32 0, i32 3>
@@ -89,9 +89,8 @@ define <4 x i32> @test1503(<4 x i32> %a, <4 x i32> %b)
 define <4 x i32> @test4366(<4 x i32> %a, <4 x i32> %b)
 ; CHECK-LABEL: test4366:
 ; CHECK:       // %bb.0:
-; CHECK-NEXT:    zip2 v2.4s, v1.4s, v0.4s
 ; CHECK-NEXT:    uzp1 v1.4s, v0.4s, v1.4s
-; CHECK-NEXT:    ext v0.16b, v0.16b, v2.16b, #4
+; CHECK-NEXT:    trn2 v0.4s, v0.4s, v1.4s
 ; CHECK-NEXT:    zip2 v0.4s, v1.4s, v0.4s
 ; CHECK-NEXT:    ret
 {

diff  --git a/llvm/test/CodeGen/AArch64/sinksplat.ll b/llvm/test/CodeGen/AArch64/sinksplat.ll
index 4c8b0ab87e9c4..e897d4a9e746d 100644
--- a/llvm/test/CodeGen/AArch64/sinksplat.ll
+++ b/llvm/test/CodeGen/AArch64/sinksplat.ll
@@ -336,9 +336,8 @@ define <4 x i32> @smull_nonsplat(<4 x i16> %x, <4 x i16> *%y) {
 ; CHECK-NEXT:    fmov d1, d0
 ; CHECK-NEXT:    mov w8, #1
 ; CHECK-NEXT:    movi v0.2d, #0000000000000000
-; CHECK-NEXT:    dup v2.4h, v1.h[3]
-; CHECK-NEXT:    ext v2.8b, v1.8b, v2.8b, #4
-; CHECK-NEXT:    ext v1.8b, v1.8b, v2.8b, #6
+; CHECK-NEXT:    trn2 v2.4h, v1.4h, v1.4h
+; CHECK-NEXT:    zip2 v1.4h, v2.4h, v1.4h
 ; CHECK-NEXT:  .LBB10_1: // %l1
 ; CHECK-NEXT:    // =>This Inner Loop Header: Depth=1
 ; CHECK-NEXT:    ldr d2, [x0]

diff  --git a/llvm/utils/PerfectShuffle/PerfectShuffle.cpp b/llvm/utils/PerfectShuffle/PerfectShuffle.cpp
index 0b9ffedfab644..c4baa872a3588 100644
--- a/llvm/utils/PerfectShuffle/PerfectShuffle.cpp
+++ b/llvm/utils/PerfectShuffle/PerfectShuffle.cpp
@@ -545,27 +545,27 @@ vext<2> the_vext2("vext2", OP_VEXT2);
 vext<3> the_vext3("vext3", OP_VEXT3);
 
 struct vuzpl : public Operator {
-  vuzpl() : Operator(0x0246, "vuzpl", OP_VUZPL, 2) {}
+  vuzpl() : Operator(0x0246, "vuzpl", OP_VUZPL, 1) {}
 } the_vuzpl;
 
 struct vuzpr : public Operator {
-  vuzpr() : Operator(0x1357, "vuzpr", OP_VUZPR, 2) {}
+  vuzpr() : Operator(0x1357, "vuzpr", OP_VUZPR, 1) {}
 } the_vuzpr;
 
 struct vzipl : public Operator {
-  vzipl() : Operator(0x0415, "vzipl", OP_VZIPL, 2) {}
+  vzipl() : Operator(0x0415, "vzipl", OP_VZIPL, 1) {}
 } the_vzipl;
 
 struct vzipr : public Operator {
-  vzipr() : Operator(0x2637, "vzipr", OP_VZIPR, 2) {}
+  vzipr() : Operator(0x2637, "vzipr", OP_VZIPR, 1) {}
 } the_vzipr;
 
 struct vtrnl : public Operator {
-  vtrnl() : Operator(0x0426, "vtrnl", OP_VTRNL, 2) {}
+  vtrnl() : Operator(0x0426, "vtrnl", OP_VTRNL, 1) {}
 } the_vtrnl;
 
 struct vtrnr : public Operator {
-  vtrnr() : Operator(0x1537, "vtrnr", OP_VTRNR, 2) {}
+  vtrnr() : Operator(0x1537, "vtrnr", OP_VTRNR, 1) {}
 } the_vtrnr;
 
 #endif


        


More information about the llvm-commits mailing list