public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] RISC-V: Support VLS modes vec_init auto-vectorization
@ 2023-09-15  3:53 Juzhe-Zhong
  2023-09-18  8:19 ` Kito Cheng
  0 siblings, 1 reply; 3+ messages in thread
From: Juzhe-Zhong @ 2023-09-15  3:53 UTC (permalink / raw)
  To: gcc-patches; +Cc: kito.cheng, kito.cheng, jeffreyalaw, rdapp.gcc, Juzhe-Zhong

There are multiple SLP dump FAILs in vect testsuite.
After analysis, confirm we are missing vec_init for VLS modes.
This patch is not sufficient to fix those FAILs (We need more VLS patterns will send them soon).

This patch is the prerequsite patch for fixing those SLP FAILs.

Finish the whole regression.
Ok for trunk ?

gcc/ChangeLog:

	* config/riscv/autovec.md: Extend VLS modes.
	* config/riscv/vector.md: Ditto.

gcc/testsuite/ChangeLog:

	* gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS vec_init tests.
	* gcc.target/riscv/rvv/autovec/vls/init-1.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/init-2.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/init-3.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/init-4.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/init-5.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/init-6.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/init-7.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-1.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-2.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-3.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-4.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-5.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-6.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-7.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-8.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/repeat-9.c: New test.

---
 gcc/config/riscv/autovec.md                   |   2 +-
 gcc/config/riscv/vector.md                    |  68 +-
 .../gcc.target/riscv/rvv/autovec/vls/def.h    | 143 ++++
 .../gcc.target/riscv/rvv/autovec/vls/init-1.c |  46 ++
 .../gcc.target/riscv/rvv/autovec/vls/init-2.c |  48 ++
 .../gcc.target/riscv/rvv/autovec/vls/init-3.c |  27 +
 .../gcc.target/riscv/rvv/autovec/vls/init-4.c |  48 ++
 .../gcc.target/riscv/rvv/autovec/vls/init-5.c |  26 +
 .../gcc.target/riscv/rvv/autovec/vls/init-6.c |  48 ++
 .../gcc.target/riscv/rvv/autovec/vls/init-7.c |  26 +
 .../riscv/rvv/autovec/vls/repeat-1.c          | 654 ++++++++++++++++++
 .../riscv/rvv/autovec/vls/repeat-2.c          | 654 ++++++++++++++++++
 .../riscv/rvv/autovec/vls/repeat-3.c          | 337 +++++++++
 .../riscv/rvv/autovec/vls/repeat-4.c          | 337 +++++++++
 .../riscv/rvv/autovec/vls/repeat-5.c          | 178 +++++
 .../riscv/rvv/autovec/vls/repeat-6.c          | 178 +++++
 .../riscv/rvv/autovec/vls/repeat-7.c          |  53 ++
 .../riscv/rvv/autovec/vls/repeat-8.c          | 337 +++++++++
 .../riscv/rvv/autovec/vls/repeat-9.c          | 178 +++++
 19 files changed, 3353 insertions(+), 35 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c

diff --git a/gcc/config/riscv/autovec.md b/gcc/config/riscv/autovec.md
index 0a60f45301b..1e0dae0d7f5 100644
--- a/gcc/config/riscv/autovec.md
+++ b/gcc/config/riscv/autovec.md
@@ -373,7 +373,7 @@
 ;; -------------------------------------------------------------------------
 
 (define_expand "vec_init<mode><vel>"
-  [(match_operand:V 0 "register_operand")
+  [(match_operand:V_VLS 0 "register_operand")
    (match_operand 1 "")]
   "TARGET_VECTOR"
   {
diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md
index fb0c8abd995..d3df983c580 100644
--- a/gcc/config/riscv/vector.md
+++ b/gcc/config/riscv/vector.md
@@ -1607,40 +1607,40 @@
    (set_attr "mode" "<MODE>")])
 
 (define_insn "@pred_merge<mode>_scalar"
-  [(set (match_operand:VI_QHS 0 "register_operand"   "=vd,vd")
-    (if_then_else:VI_QHS
+  [(set (match_operand:V_VLSI_QHS 0 "register_operand"   "=vd,vd")
+    (if_then_else:V_VLSI_QHS
       (unspec:<VM>
         [(match_operand 5 "vector_length_operand"    " rK,rK")
          (match_operand 6 "const_int_operand"        "  i, i")
          (match_operand 7 "const_int_operand"        "  i, i")
          (reg:SI VL_REGNUM)
          (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
-      (vec_merge:VI_QHS
-	(vec_duplicate:VI_QHS
+      (vec_merge:V_VLSI_QHS
+	(vec_duplicate:V_VLSI_QHS
           (match_operand:<VEL> 3 "register_operand"  "  r, r"))
-        (match_operand:VI_QHS 2 "register_operand"   " vr,vr")
+        (match_operand:V_VLSI_QHS 2 "register_operand"   " vr,vr")
 	(match_operand:<VM> 4 "register_operand"     " vm,vm"))
-      (match_operand:VI_QHS 1 "vector_merge_operand" " vu, 0")))]
+      (match_operand:V_VLSI_QHS 1 "vector_merge_operand" " vu, 0")))]
   "TARGET_VECTOR"
   "vmerge.vxm\t%0,%2,%3,%4"
   [(set_attr "type" "vimerge")
    (set_attr "mode" "<MODE>")])
 
 (define_expand "@pred_merge<mode>_scalar"
-  [(set (match_operand:VI_D 0 "register_operand")
-    (if_then_else:VI_D
+  [(set (match_operand:V_VLSI_D 0 "register_operand")
+    (if_then_else:V_VLSI_D
       (unspec:<VM>
         [(match_operand 5 "vector_length_operand")
          (match_operand 6 "const_int_operand")
          (match_operand 7 "const_int_operand")
          (reg:SI VL_REGNUM)
          (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
-      (vec_merge:VI_D
-	(vec_duplicate:VI_D
+      (vec_merge:V_VLSI_D
+	(vec_duplicate:V_VLSI_D
           (match_operand:<VEL> 3 "reg_or_int_operand"))
-        (match_operand:VI_D 2 "register_operand")
+        (match_operand:V_VLSI_D 2 "register_operand")
 	(match_operand:<VM> 4 "register_operand"))
-      (match_operand:VI_D 1 "vector_merge_operand")))]
+      (match_operand:V_VLSI_D 1 "vector_merge_operand")))]
   "TARGET_VECTOR"
 {
   if (riscv_vector::sew64_scalar_helper (
@@ -1658,41 +1658,41 @@
 })
 
 (define_insn "*pred_merge<mode>_scalar"
-  [(set (match_operand:VI_D 0 "register_operand"     "=vd,vd")
-    (if_then_else:VI_D
+  [(set (match_operand:V_VLSI_D 0 "register_operand"     "=vd,vd")
+    (if_then_else:V_VLSI_D
       (unspec:<VM>
         [(match_operand 5 "vector_length_operand"    " rK,rK")
          (match_operand 6 "const_int_operand"        "  i, i")
          (match_operand 7 "const_int_operand"        "  i, i")
          (reg:SI VL_REGNUM)
          (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
-      (vec_merge:VI_D
-	(vec_duplicate:VI_D
+      (vec_merge:V_VLSI_D
+	(vec_duplicate:V_VLSI_D
           (match_operand:<VEL> 3 "register_operand"  "  r, r"))
-        (match_operand:VI_D 2 "register_operand"     " vr,vr")
+        (match_operand:V_VLSI_D 2 "register_operand"     " vr,vr")
 	(match_operand:<VM> 4 "register_operand"     " vm,vm"))
-      (match_operand:VI_D 1 "vector_merge_operand"   " vu, 0")))]
+      (match_operand:V_VLSI_D 1 "vector_merge_operand"   " vu, 0")))]
   "TARGET_VECTOR"
   "vmerge.vxm\t%0,%2,%3,%4"
   [(set_attr "type" "vimerge")
    (set_attr "mode" "<MODE>")])
 
 (define_insn "*pred_merge<mode>_extended_scalar"
-  [(set (match_operand:VI_D 0 "register_operand"         "=vd,vd")
-    (if_then_else:VI_D
+  [(set (match_operand:V_VLSI_D 0 "register_operand"         "=vd,vd")
+    (if_then_else:V_VLSI_D
       (unspec:<VM>
         [(match_operand 5 "vector_length_operand"        " rK,rK")
          (match_operand 6 "const_int_operand"            "  i, i")
          (match_operand 7 "const_int_operand"            "  i, i")
          (reg:SI VL_REGNUM)
          (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
-      (vec_merge:VI_D
-	(vec_duplicate:VI_D
+      (vec_merge:V_VLSI_D
+	(vec_duplicate:V_VLSI_D
 	  (sign_extend:<VEL>
             (match_operand:<VSUBEL> 3 "register_operand" "  r, r")))
-        (match_operand:VI_D 2 "register_operand"         " vr,vr")
+        (match_operand:V_VLSI_D 2 "register_operand"         " vr,vr")
 	(match_operand:<VM> 4 "register_operand"         " vm,vm"))
-      (match_operand:VI_D 1 "vector_merge_operand"       " vu, 0")))]
+      (match_operand:V_VLSI_D 1 "vector_merge_operand"       " vu, 0")))]
   "TARGET_VECTOR"
   "vmerge.vxm\t%0,%2,%3,%4"
   [(set_attr "type" "vimerge")
@@ -7422,20 +7422,20 @@
 ;; -------------------------------------------------------------------------------
 
 (define_insn "@pred_merge<mode>_scalar"
-  [(set (match_operand:VF 0 "register_operand"      "=vd,vd")
-    (if_then_else:VF
+  [(set (match_operand:V_VLSF 0 "register_operand"      "=vd,vd")
+    (if_then_else:V_VLSF
       (unspec:<VM>
         [(match_operand 5 "vector_length_operand"   " rK,rK")
          (match_operand 6 "const_int_operand"       "  i, i")
          (match_operand 7 "const_int_operand"       "  i, i")
          (reg:SI VL_REGNUM)
          (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
-      (vec_merge:VF
-        (vec_duplicate:VF
+      (vec_merge:V_VLSF
+        (vec_duplicate:V_VLSF
           (match_operand:<VEL> 3 "register_operand" "  f, f"))
-        (match_operand:VF 2 "register_operand"      " vr,vr")
+        (match_operand:V_VLSF 2 "register_operand"      " vr,vr")
 	(match_operand:<VM> 4 "register_operand"    " vm,vm"))
-      (match_operand:VF 1 "vector_merge_operand"    " vu, 0")))]
+      (match_operand:V_VLSF 1 "vector_merge_operand"    " vu, 0")))]
   "TARGET_VECTOR"
   "vfmerge.vfm\t%0,%2,%3,%4"
   [(set_attr "type" "vfmerge")
@@ -8044,8 +8044,8 @@
 
 ;; vfslide1 instructions
 (define_insn "@pred_slide<ud><mode>"
-  [(set (match_operand:VF 0 "register_operand"            "<ud_constraint>")
-	(unspec:VF
+  [(set (match_operand:V_VLSF 0 "register_operand"  "<ud_constraint>")
+	(unspec:V_VLSF
 	  [(unspec:<VM>
 	     [(match_operand:<VM> 1 "vector_mask_operand" " vm, vm,Wc1,Wc1")
 	      (match_operand 5 "vector_length_operand"    " rK, rK, rK, rK")
@@ -8054,8 +8054,8 @@
 	      (match_operand 8 "const_int_operand"        "  i,  i,  i,  i")
 	      (reg:SI VL_REGNUM)
 	      (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
-	   (match_operand:VF 2 "vector_merge_operand"     " vu,  0, vu,  0")
-	   (match_operand:VF 3 "register_operand"         " vr, vr, vr, vr")
+	   (match_operand:V_VLSF 2 "vector_merge_operand" " vu,  0, vu,  0")
+	   (match_operand:V_VLSF 3 "register_operand"     " vr, vr, vr, vr")
 	   (match_operand:<VEL> 4 "register_operand"      "  f,  f,  f,  f")] VFSLIDES1))]
   "TARGET_VECTOR"
   "vfslide<ud>.vf\t%0,%3,%4%p1"
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
index 1edc1910920..a0fe2f6f2f5 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
@@ -258,3 +258,146 @@ typedef double v512df __attribute__ ((vector_size (4096)));
     for (int i = 0; i < NUM; ++i)                                              \
       a[i] = (b[i] > c[i]) OP (d[i] < e[i]);                                   \
   }
+
+#define VARS2(TYPE, NUM1, NUM2) TYPE var##NUM1, TYPE var##NUM2
+#define VARS4(TYPE, NUM1, NUM2, NUM3, NUM4)                                    \
+  VARS2 (TYPE, NUM1, NUM2), VARS2 (TYPE, NUM3, NUM4)
+#define VARS8(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8)            \
+  VARS4 (TYPE, NUM1, NUM2, NUM3, NUM4), VARS4 (TYPE, NUM5, NUM6, NUM7, NUM8)
+#define VARS16(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
+	       NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)                \
+  VARS8 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8),                \
+    VARS8 (TYPE, NUM9, NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)
+#define VARS32(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
+	       NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18,  \
+	       NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27,  \
+	       NUM28, NUM29, NUM30, NUM31, NUM32)                              \
+  VARS16 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
+	  NUM11, NUM12, NUM13, NUM14, NUM15, NUM16),                           \
+    VARS16 (TYPE, NUM17, NUM18, NUM19, NUM20, NUM21, NUM22, NUM23, NUM24,      \
+	    NUM25, NUM26, NUM27, NUM28, NUM29, NUM30, NUM31, NUM32)
+#define VARS64(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
+	       NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18,  \
+	       NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27,  \
+	       NUM28, NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36,  \
+	       NUM37, NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45,  \
+	       NUM46, NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54,  \
+	       NUM55, NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63,  \
+	       NUM64)                                                          \
+  VARS32 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
+	  NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,       \
+	  NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,       \
+	  NUM29, NUM30, NUM31, NUM32),                                         \
+    VARS32 (TYPE, NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, NUM39, NUM40,      \
+	    NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, NUM48, NUM49,     \
+	    NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, NUM57, NUM58,     \
+	    NUM59, NUM60, NUM61, NUM62, NUM63, NUM64)
+#define VARS128(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,    \
+		NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, \
+		NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, \
+		NUM28, NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, \
+		NUM37, NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, \
+		NUM46, NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, \
+		NUM55, NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, \
+		NUM64, NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, \
+		NUM73, NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, \
+		NUM82, NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, \
+		NUM91, NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, \
+		NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106,        \
+		NUM107, NUM108, NUM109, NUM110, NUM111, NUM112, NUM113,        \
+		NUM114, NUM115, NUM116, NUM117, NUM118, NUM119, NUM120,        \
+		NUM121, NUM122, NUM123, NUM124, NUM125, NUM126, NUM127,        \
+		NUM128)                                                        \
+  VARS64 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
+	  NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,       \
+	  NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,       \
+	  NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37,       \
+	  NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46,       \
+	  NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55,       \
+	  NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64),      \
+    VARS64 (TYPE, NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72,      \
+	    NUM73, NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81,     \
+	    NUM82, NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90,     \
+	    NUM91, NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99,     \
+	    NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, NUM107,    \
+	    NUM108, NUM109, NUM110, NUM111, NUM112, NUM113, NUM114, NUM115,    \
+	    NUM116, NUM117, NUM118, NUM119, NUM120, NUM121, NUM122, NUM123,    \
+	    NUM124, NUM125, NUM126, NUM127, NUM128)
+
+#define INIT2(NUM1, NUM2) var##NUM1, var##NUM2
+#define INIT4(NUM1, NUM2, NUM3, NUM4) INIT2 (NUM1, NUM2), INIT2 (NUM3, NUM4)
+#define INIT8(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8)                  \
+  INIT4 (NUM1, NUM2, NUM3, NUM4), INIT4 (NUM5, NUM6, NUM7, NUM8)
+#define INIT16(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
+	       NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)                       \
+  INIT4 (NUM1, NUM2, NUM3, NUM4), INIT4 (NUM5, NUM6, NUM7, NUM8)
+#define INIT32(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
+	       NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,  \
+	       NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,  \
+	       NUM29, NUM30, NUM31, NUM32)                                     \
+  INIT16 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
+	  NUM12, NUM13, NUM14, NUM15, NUM16),                                  \
+    INIT16 (NUM17, NUM18, NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25,     \
+	    NUM26, NUM27, NUM28, NUM29, NUM30, NUM31, NUM32)
+#define INIT64(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
+	       NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,  \
+	       NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,  \
+	       NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37,  \
+	       NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46,  \
+	       NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55,  \
+	       NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64)  \
+  INIT32 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
+	  NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, NUM20,       \
+	  NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, NUM29,       \
+	  NUM30, NUM31, NUM32),                                                \
+    INIT32 (NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, NUM39, NUM40, NUM41,     \
+	    NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, NUM48, NUM49, NUM50,     \
+	    NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, NUM57, NUM58, NUM59,     \
+	    NUM60, NUM61, NUM62, NUM63, NUM64)
+#define INIT128(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
+		NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, \
+		NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, \
+		NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, \
+		NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, \
+		NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, \
+		NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64, \
+		NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, NUM73, \
+		NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, NUM82, \
+		NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, NUM91, \
+		NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99,        \
+		NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106,        \
+		NUM107, NUM108, NUM109, NUM110, NUM111, NUM112, NUM113,        \
+		NUM114, NUM115, NUM116, NUM117, NUM118, NUM119, NUM120,        \
+		NUM121, NUM122, NUM123, NUM124, NUM125, NUM126, NUM127,        \
+		NUM128)                                                        \
+  INIT64 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
+	  NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, NUM20,       \
+	  NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, NUM29,       \
+	  NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, NUM38,       \
+	  NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, NUM47,       \
+	  NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, NUM56,       \
+	  NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64),             \
+    INIT64 (NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, NUM73,     \
+	    NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, NUM82,     \
+	    NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, NUM91,     \
+	    NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, NUM100,    \
+	    NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, NUM107, NUM108,    \
+	    NUM109, NUM110, NUM111, NUM112, NUM113, NUM114, NUM115, NUM116,    \
+	    NUM117, NUM118, NUM119, NUM120, NUM121, NUM122, NUM123, NUM124,    \
+	    NUM125, NUM126, NUM127, NUM128)
+
+#define DEF_INIT(TYPE1, TYPE2, NUM, ...)                                       \
+  void init_##TYPE1##_##TYPE2##_##NUM (VARS##NUM (TYPE2, __VA_ARGS__),         \
+				       TYPE2 *__restrict out)                  \
+  {                                                                            \
+    TYPE1 v = {INIT##NUM (__VA_ARGS__)};                                       \
+    *(TYPE1 *) out = v;                                                        \
+  }
+
+#define DEF_REPEAT(TYPE1, TYPE2, NUM, ...)                                     \
+  void init_##TYPE1##_##TYPE2##_##NUM (TYPE2 var0, TYPE2 var1,                 \
+				       TYPE2 *__restrict out)                  \
+  {                                                                            \
+    TYPE1 v = {__VA_ARGS__};                                                   \
+    *(TYPE1 *) out = v;                                                        \
+  }
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
new file mode 100644
index 00000000000..aec2c6e5e5f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
@@ -0,0 +1,46 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2qi, int8_t, 2, 0, 1)
+DEF_INIT (v4qi, int8_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8qi, int8_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16qi, int8_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15)
+DEF_INIT (v32qi, int8_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64qi, int8_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128qi, int8_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+	  66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+	  83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+	  100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+	  114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
+DEF_INIT (v2uqi, uint8_t, 2, 0, 1)
+DEF_INIT (v4uqi, uint8_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8uqi, uint8_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16uqi, uint8_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15)
+DEF_INIT (v32uqi, uint8_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64uqi, uint8_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128uqi, uint8_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+	  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+	  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+	  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+	  113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+	  127)
+
+/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
new file mode 100644
index 00000000000..f9c58aef553
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
@@ -0,0 +1,48 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl256b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2hi, int16_t, 2, 0, 1)
+DEF_INIT (v4hi, int16_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8hi, int16_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16hi, int16_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15)
+DEF_INIT (v32hi, int16_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64hi, int16_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128hi, int16_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+	  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+	  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+	  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+	  113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+	  127)
+DEF_INIT (v2uhi, uint16_t, 2, 0, 1)
+DEF_INIT (v4uhi, uint16_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8uhi, uint16_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16uhi, uint16_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15)
+DEF_INIT (v32uhi, uint16_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31)
+DEF_INIT (v64uhi, uint16_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128uhi, uint16_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+	  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+	  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+	  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+	  113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+	  127)
+
+/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
new file mode 100644
index 00000000000..eb970c7b042
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl256b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2hf, _Float16, 2, 0, 1)
+DEF_INIT (v4hf, _Float16, 4, 0, 1, 2, 3)
+DEF_INIT (v8hf, _Float16, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16hf, _Float16, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15)
+DEF_INIT (v32hf, _Float16, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64hf, _Float16, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128hf, _Float16, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+	  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+	  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+	  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+	  113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+	  127)
+
+/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
new file mode 100644
index 00000000000..fedeb445a2b
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
@@ -0,0 +1,48 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl512b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2si, int32_t, 2, 0, 1)
+DEF_INIT (v4si, int32_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8si, int32_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16si, int32_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15)
+DEF_INIT (v32si, int32_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64si, int32_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128si, int32_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+	  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+	  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+	  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+	  113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+	  127)
+DEF_INIT (v2usi, uint32_t, 2, 0, 1)
+DEF_INIT (v4usi, uint32_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8usi, uint32_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16usi, uint32_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15)
+DEF_INIT (v32usi, uint32_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31)
+DEF_INIT (v64usi, uint32_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128usi, uint32_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+	  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+	  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+	  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+	  113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+	  127)
+
+/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
new file mode 100644
index 00000000000..c93ac524c88
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl512b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2sf, float, 2, 0, 1)
+DEF_INIT (v4sf, float, 4, 0, 1, 2, 3)
+DEF_INIT (v8sf, float, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16sf, float, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15)
+DEF_INIT (v32sf, float, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64sf, float, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128sf, float, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+	  66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+	  83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+	  100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+	  114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
+
+/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
new file mode 100644
index 00000000000..304539f4868
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
@@ -0,0 +1,48 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl1024b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2di, int64_t, 2, 0, 1)
+DEF_INIT (v4di, int64_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8di, int64_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16di, int64_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15)
+DEF_INIT (v32di, int64_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64di, int64_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128di, int64_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+	  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+	  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+	  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+	  113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+	  127)
+DEF_INIT (v2udi, uint64_t, 2, 0, 1)
+DEF_INIT (v4udi, uint64_t, 4, 0, 1, 2, 3)
+DEF_INIT (v8udi, uint64_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16udi, uint64_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15)
+DEF_INIT (v32udi, uint64_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31)
+DEF_INIT (v64udi, uint64_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128udi, uint64_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+	  14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
+	  31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
+	  48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
+	  65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
+	  82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+	  99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
+	  113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
+	  127)
+
+/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
new file mode 100644
index 00000000000..4b966010dca
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl1024b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_INIT (v2df, double, 2, 0, 1)
+DEF_INIT (v4df, double, 4, 0, 1, 2, 3)
+DEF_INIT (v8df, double, 8, 0, 1, 2, 3, 4, 5, 6, 7)
+DEF_INIT (v16df, double, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15)
+DEF_INIT (v32df, double, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
+DEF_INIT (v64df, double, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
+DEF_INIT (v128df, double, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+	  15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
+	  32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
+	  49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
+	  66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
+	  83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
+	  100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
+	  114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
+
+/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
new file mode 100644
index 00000000000..2c831f9f228
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
@@ -0,0 +1,654 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1)
+DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256qi, int8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v512qi, int8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v1024qi, int8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1)
+DEF_REPEAT (
+  v2048qi, int8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v4096qi, int8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
new file mode 100644
index 00000000000..a465bb6ea64
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
@@ -0,0 +1,654 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1)
+DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256uqi, uint8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v512uqi, uint8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v1024uqi, uint8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1)
+DEF_REPEAT (
+  v2048uqi, uint8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v4096uqi, uint8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
new file mode 100644
index 00000000000..9c9899b31dd
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
@@ -0,0 +1,337 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1)
+DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256hi, int16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v512hi, int16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v1024hi, int16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1)
+DEF_REPEAT (
+  v2048hi, int16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
new file mode 100644
index 00000000000..17bc31367d6
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
@@ -0,0 +1,337 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1)
+DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256uhi, uint16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v512uhi, uint16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v1024uhi, uint16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1)
+DEF_REPEAT (
+  v2048uhi, uint16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
new file mode 100644
index 00000000000..6398f2476ad
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
@@ -0,0 +1,178 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4si, int32_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8si, int32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16si, int32_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32si, int32_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v64si, int32_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1)
+DEF_REPEAT (v128si, int32_t, 128, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256si, int32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v512si, int32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v1024si, int32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
new file mode 100644
index 00000000000..960a164112f
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
@@ -0,0 +1,178 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1)
+DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256usi, uint32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v512usi, uint32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v1024usi, uint32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
new file mode 100644
index 00000000000..98be878daed
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
@@ -0,0 +1,53 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v16di, int64_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32di, int64_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v64di, int64_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1)
+DEF_REPEAT (v128di, int64_t, 128, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256di, int64_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmerge\.vxm} 5 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
new file mode 100644
index 00000000000..b8d952ef6ad
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
@@ -0,0 +1,337 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1)
+DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256hf, _Float16, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v512hf, _Float16, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v1024hf, _Float16, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1)
+DEF_REPEAT (
+  v2048hf, _Float16, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vfslide1down\.vf} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
new file mode 100644
index 00000000000..1db68fcf3fe
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
@@ -0,0 +1,178 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4sf, float, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8sf, float, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16sf, float, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32sf, float, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1)
+DEF_REPEAT (v64sf, float, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1)
+DEF_REPEAT (v128sf, float, 128, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+	    var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+	    var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v256sf, float, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v512sf, float, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+  v1024sf, float, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+  var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vfslide1down\.vf} } } */
-- 
2.36.3


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] RISC-V: Support VLS modes vec_init auto-vectorization
  2023-09-15  3:53 [PATCH] RISC-V: Support VLS modes vec_init auto-vectorization Juzhe-Zhong
@ 2023-09-18  8:19 ` Kito Cheng
  2023-09-18  8:34   ` Li, Pan2
  0 siblings, 1 reply; 3+ messages in thread
From: Kito Cheng @ 2023-09-18  8:19 UTC (permalink / raw)
  To: Juzhe-Zhong; +Cc: gcc-patches, kito.cheng, jeffreyalaw, rdapp.gcc

LGTM

On Fri, Sep 15, 2023 at 11:57 AM Juzhe-Zhong <juzhe.zhong@rivai.ai> wrote:
>
> There are multiple SLP dump FAILs in vect testsuite.
> After analysis, confirm we are missing vec_init for VLS modes.
> This patch is not sufficient to fix those FAILs (We need more VLS patterns will send them soon).
>
> This patch is the prerequsite patch for fixing those SLP FAILs.
>
> Finish the whole regression.
> Ok for trunk ?
>
> gcc/ChangeLog:
>
>         * config/riscv/autovec.md: Extend VLS modes.
>         * config/riscv/vector.md: Ditto.
>
> gcc/testsuite/ChangeLog:
>
>         * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS vec_init tests.
>         * gcc.target/riscv/rvv/autovec/vls/init-1.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-2.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-3.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-4.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-5.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-6.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-7.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-1.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-2.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-3.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-4.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-5.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-6.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-7.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-8.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-9.c: New test.
>
> ---
>  gcc/config/riscv/autovec.md                   |   2 +-
>  gcc/config/riscv/vector.md                    |  68 +-
>  .../gcc.target/riscv/rvv/autovec/vls/def.h    | 143 ++++
>  .../gcc.target/riscv/rvv/autovec/vls/init-1.c |  46 ++
>  .../gcc.target/riscv/rvv/autovec/vls/init-2.c |  48 ++
>  .../gcc.target/riscv/rvv/autovec/vls/init-3.c |  27 +
>  .../gcc.target/riscv/rvv/autovec/vls/init-4.c |  48 ++
>  .../gcc.target/riscv/rvv/autovec/vls/init-5.c |  26 +
>  .../gcc.target/riscv/rvv/autovec/vls/init-6.c |  48 ++
>  .../gcc.target/riscv/rvv/autovec/vls/init-7.c |  26 +
>  .../riscv/rvv/autovec/vls/repeat-1.c          | 654 ++++++++++++++++++
>  .../riscv/rvv/autovec/vls/repeat-2.c          | 654 ++++++++++++++++++
>  .../riscv/rvv/autovec/vls/repeat-3.c          | 337 +++++++++
>  .../riscv/rvv/autovec/vls/repeat-4.c          | 337 +++++++++
>  .../riscv/rvv/autovec/vls/repeat-5.c          | 178 +++++
>  .../riscv/rvv/autovec/vls/repeat-6.c          | 178 +++++
>  .../riscv/rvv/autovec/vls/repeat-7.c          |  53 ++
>  .../riscv/rvv/autovec/vls/repeat-8.c          | 337 +++++++++
>  .../riscv/rvv/autovec/vls/repeat-9.c          | 178 +++++
>  19 files changed, 3353 insertions(+), 35 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
>
> diff --git a/gcc/config/riscv/autovec.md b/gcc/config/riscv/autovec.md
> index 0a60f45301b..1e0dae0d7f5 100644
> --- a/gcc/config/riscv/autovec.md
> +++ b/gcc/config/riscv/autovec.md
> @@ -373,7 +373,7 @@
>  ;; -------------------------------------------------------------------------
>
>  (define_expand "vec_init<mode><vel>"
> -  [(match_operand:V 0 "register_operand")
> +  [(match_operand:V_VLS 0 "register_operand")
>     (match_operand 1 "")]
>    "TARGET_VECTOR"
>    {
> diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md
> index fb0c8abd995..d3df983c580 100644
> --- a/gcc/config/riscv/vector.md
> +++ b/gcc/config/riscv/vector.md
> @@ -1607,40 +1607,40 @@
>     (set_attr "mode" "<MODE>")])
>
>  (define_insn "@pred_merge<mode>_scalar"
> -  [(set (match_operand:VI_QHS 0 "register_operand"   "=vd,vd")
> -    (if_then_else:VI_QHS
> +  [(set (match_operand:V_VLSI_QHS 0 "register_operand"   "=vd,vd")
> +    (if_then_else:V_VLSI_QHS
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand"    " rK,rK")
>           (match_operand 6 "const_int_operand"        "  i, i")
>           (match_operand 7 "const_int_operand"        "  i, i")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VI_QHS
> -       (vec_duplicate:VI_QHS
> +      (vec_merge:V_VLSI_QHS
> +       (vec_duplicate:V_VLSI_QHS
>            (match_operand:<VEL> 3 "register_operand"  "  r, r"))
> -        (match_operand:VI_QHS 2 "register_operand"   " vr,vr")
> +        (match_operand:V_VLSI_QHS 2 "register_operand"   " vr,vr")
>         (match_operand:<VM> 4 "register_operand"     " vm,vm"))
> -      (match_operand:VI_QHS 1 "vector_merge_operand" " vu, 0")))]
> +      (match_operand:V_VLSI_QHS 1 "vector_merge_operand" " vu, 0")))]
>    "TARGET_VECTOR"
>    "vmerge.vxm\t%0,%2,%3,%4"
>    [(set_attr "type" "vimerge")
>     (set_attr "mode" "<MODE>")])
>
>  (define_expand "@pred_merge<mode>_scalar"
> -  [(set (match_operand:VI_D 0 "register_operand")
> -    (if_then_else:VI_D
> +  [(set (match_operand:V_VLSI_D 0 "register_operand")
> +    (if_then_else:V_VLSI_D
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand")
>           (match_operand 6 "const_int_operand")
>           (match_operand 7 "const_int_operand")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VI_D
> -       (vec_duplicate:VI_D
> +      (vec_merge:V_VLSI_D
> +       (vec_duplicate:V_VLSI_D
>            (match_operand:<VEL> 3 "reg_or_int_operand"))
> -        (match_operand:VI_D 2 "register_operand")
> +        (match_operand:V_VLSI_D 2 "register_operand")
>         (match_operand:<VM> 4 "register_operand"))
> -      (match_operand:VI_D 1 "vector_merge_operand")))]
> +      (match_operand:V_VLSI_D 1 "vector_merge_operand")))]
>    "TARGET_VECTOR"
>  {
>    if (riscv_vector::sew64_scalar_helper (
> @@ -1658,41 +1658,41 @@
>  })
>
>  (define_insn "*pred_merge<mode>_scalar"
> -  [(set (match_operand:VI_D 0 "register_operand"     "=vd,vd")
> -    (if_then_else:VI_D
> +  [(set (match_operand:V_VLSI_D 0 "register_operand"     "=vd,vd")
> +    (if_then_else:V_VLSI_D
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand"    " rK,rK")
>           (match_operand 6 "const_int_operand"        "  i, i")
>           (match_operand 7 "const_int_operand"        "  i, i")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VI_D
> -       (vec_duplicate:VI_D
> +      (vec_merge:V_VLSI_D
> +       (vec_duplicate:V_VLSI_D
>            (match_operand:<VEL> 3 "register_operand"  "  r, r"))
> -        (match_operand:VI_D 2 "register_operand"     " vr,vr")
> +        (match_operand:V_VLSI_D 2 "register_operand"     " vr,vr")
>         (match_operand:<VM> 4 "register_operand"     " vm,vm"))
> -      (match_operand:VI_D 1 "vector_merge_operand"   " vu, 0")))]
> +      (match_operand:V_VLSI_D 1 "vector_merge_operand"   " vu, 0")))]
>    "TARGET_VECTOR"
>    "vmerge.vxm\t%0,%2,%3,%4"
>    [(set_attr "type" "vimerge")
>     (set_attr "mode" "<MODE>")])
>
>  (define_insn "*pred_merge<mode>_extended_scalar"
> -  [(set (match_operand:VI_D 0 "register_operand"         "=vd,vd")
> -    (if_then_else:VI_D
> +  [(set (match_operand:V_VLSI_D 0 "register_operand"         "=vd,vd")
> +    (if_then_else:V_VLSI_D
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand"        " rK,rK")
>           (match_operand 6 "const_int_operand"            "  i, i")
>           (match_operand 7 "const_int_operand"            "  i, i")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VI_D
> -       (vec_duplicate:VI_D
> +      (vec_merge:V_VLSI_D
> +       (vec_duplicate:V_VLSI_D
>           (sign_extend:<VEL>
>              (match_operand:<VSUBEL> 3 "register_operand" "  r, r")))
> -        (match_operand:VI_D 2 "register_operand"         " vr,vr")
> +        (match_operand:V_VLSI_D 2 "register_operand"         " vr,vr")
>         (match_operand:<VM> 4 "register_operand"         " vm,vm"))
> -      (match_operand:VI_D 1 "vector_merge_operand"       " vu, 0")))]
> +      (match_operand:V_VLSI_D 1 "vector_merge_operand"       " vu, 0")))]
>    "TARGET_VECTOR"
>    "vmerge.vxm\t%0,%2,%3,%4"
>    [(set_attr "type" "vimerge")
> @@ -7422,20 +7422,20 @@
>  ;; -------------------------------------------------------------------------------
>
>  (define_insn "@pred_merge<mode>_scalar"
> -  [(set (match_operand:VF 0 "register_operand"      "=vd,vd")
> -    (if_then_else:VF
> +  [(set (match_operand:V_VLSF 0 "register_operand"      "=vd,vd")
> +    (if_then_else:V_VLSF
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand"   " rK,rK")
>           (match_operand 6 "const_int_operand"       "  i, i")
>           (match_operand 7 "const_int_operand"       "  i, i")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VF
> -        (vec_duplicate:VF
> +      (vec_merge:V_VLSF
> +        (vec_duplicate:V_VLSF
>            (match_operand:<VEL> 3 "register_operand" "  f, f"))
> -        (match_operand:VF 2 "register_operand"      " vr,vr")
> +        (match_operand:V_VLSF 2 "register_operand"      " vr,vr")
>         (match_operand:<VM> 4 "register_operand"    " vm,vm"))
> -      (match_operand:VF 1 "vector_merge_operand"    " vu, 0")))]
> +      (match_operand:V_VLSF 1 "vector_merge_operand"    " vu, 0")))]
>    "TARGET_VECTOR"
>    "vfmerge.vfm\t%0,%2,%3,%4"
>    [(set_attr "type" "vfmerge")
> @@ -8044,8 +8044,8 @@
>
>  ;; vfslide1 instructions
>  (define_insn "@pred_slide<ud><mode>"
> -  [(set (match_operand:VF 0 "register_operand"            "<ud_constraint>")
> -       (unspec:VF
> +  [(set (match_operand:V_VLSF 0 "register_operand"  "<ud_constraint>")
> +       (unspec:V_VLSF
>           [(unspec:<VM>
>              [(match_operand:<VM> 1 "vector_mask_operand" " vm, vm,Wc1,Wc1")
>               (match_operand 5 "vector_length_operand"    " rK, rK, rK, rK")
> @@ -8054,8 +8054,8 @@
>               (match_operand 8 "const_int_operand"        "  i,  i,  i,  i")
>               (reg:SI VL_REGNUM)
>               (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -          (match_operand:VF 2 "vector_merge_operand"     " vu,  0, vu,  0")
> -          (match_operand:VF 3 "register_operand"         " vr, vr, vr, vr")
> +          (match_operand:V_VLSF 2 "vector_merge_operand" " vu,  0, vu,  0")
> +          (match_operand:V_VLSF 3 "register_operand"     " vr, vr, vr, vr")
>            (match_operand:<VEL> 4 "register_operand"      "  f,  f,  f,  f")] VFSLIDES1))]
>    "TARGET_VECTOR"
>    "vfslide<ud>.vf\t%0,%3,%4%p1"
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
> index 1edc1910920..a0fe2f6f2f5 100644
> --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
> @@ -258,3 +258,146 @@ typedef double v512df __attribute__ ((vector_size (4096)));
>      for (int i = 0; i < NUM; ++i)                                              \
>        a[i] = (b[i] > c[i]) OP (d[i] < e[i]);                                   \
>    }
> +
> +#define VARS2(TYPE, NUM1, NUM2) TYPE var##NUM1, TYPE var##NUM2
> +#define VARS4(TYPE, NUM1, NUM2, NUM3, NUM4)                                    \
> +  VARS2 (TYPE, NUM1, NUM2), VARS2 (TYPE, NUM3, NUM4)
> +#define VARS8(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8)            \
> +  VARS4 (TYPE, NUM1, NUM2, NUM3, NUM4), VARS4 (TYPE, NUM5, NUM6, NUM7, NUM8)
> +#define VARS16(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
> +              NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)                \
> +  VARS8 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8),                \
> +    VARS8 (TYPE, NUM9, NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)
> +#define VARS32(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
> +              NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18,  \
> +              NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27,  \
> +              NUM28, NUM29, NUM30, NUM31, NUM32)                              \
> +  VARS16 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
> +         NUM11, NUM12, NUM13, NUM14, NUM15, NUM16),                           \
> +    VARS16 (TYPE, NUM17, NUM18, NUM19, NUM20, NUM21, NUM22, NUM23, NUM24,      \
> +           NUM25, NUM26, NUM27, NUM28, NUM29, NUM30, NUM31, NUM32)
> +#define VARS64(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
> +              NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18,  \
> +              NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27,  \
> +              NUM28, NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36,  \
> +              NUM37, NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45,  \
> +              NUM46, NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54,  \
> +              NUM55, NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63,  \
> +              NUM64)                                                          \
> +  VARS32 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
> +         NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,       \
> +         NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,       \
> +         NUM29, NUM30, NUM31, NUM32),                                         \
> +    VARS32 (TYPE, NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, NUM39, NUM40,      \
> +           NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, NUM48, NUM49,     \
> +           NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, NUM57, NUM58,     \
> +           NUM59, NUM60, NUM61, NUM62, NUM63, NUM64)
> +#define VARS128(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,    \
> +               NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, \
> +               NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, \
> +               NUM28, NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, \
> +               NUM37, NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, \
> +               NUM46, NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, \
> +               NUM55, NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, \
> +               NUM64, NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, \
> +               NUM73, NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, \
> +               NUM82, NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, \
> +               NUM91, NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, \
> +               NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106,        \
> +               NUM107, NUM108, NUM109, NUM110, NUM111, NUM112, NUM113,        \
> +               NUM114, NUM115, NUM116, NUM117, NUM118, NUM119, NUM120,        \
> +               NUM121, NUM122, NUM123, NUM124, NUM125, NUM126, NUM127,        \
> +               NUM128)                                                        \
> +  VARS64 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
> +         NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,       \
> +         NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,       \
> +         NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37,       \
> +         NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46,       \
> +         NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55,       \
> +         NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64),      \
> +    VARS64 (TYPE, NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72,      \
> +           NUM73, NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81,     \
> +           NUM82, NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90,     \
> +           NUM91, NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99,     \
> +           NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, NUM107,    \
> +           NUM108, NUM109, NUM110, NUM111, NUM112, NUM113, NUM114, NUM115,    \
> +           NUM116, NUM117, NUM118, NUM119, NUM120, NUM121, NUM122, NUM123,    \
> +           NUM124, NUM125, NUM126, NUM127, NUM128)
> +
> +#define INIT2(NUM1, NUM2) var##NUM1, var##NUM2
> +#define INIT4(NUM1, NUM2, NUM3, NUM4) INIT2 (NUM1, NUM2), INIT2 (NUM3, NUM4)
> +#define INIT8(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8)                  \
> +  INIT4 (NUM1, NUM2, NUM3, NUM4), INIT4 (NUM5, NUM6, NUM7, NUM8)
> +#define INIT16(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
> +              NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)                       \
> +  INIT4 (NUM1, NUM2, NUM3, NUM4), INIT4 (NUM5, NUM6, NUM7, NUM8)
> +#define INIT32(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
> +              NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,  \
> +              NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,  \
> +              NUM29, NUM30, NUM31, NUM32)                                     \
> +  INIT16 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
> +         NUM12, NUM13, NUM14, NUM15, NUM16),                                  \
> +    INIT16 (NUM17, NUM18, NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25,     \
> +           NUM26, NUM27, NUM28, NUM29, NUM30, NUM31, NUM32)
> +#define INIT64(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
> +              NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,  \
> +              NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,  \
> +              NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37,  \
> +              NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46,  \
> +              NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55,  \
> +              NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64)  \
> +  INIT32 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
> +         NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, NUM20,       \
> +         NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, NUM29,       \
> +         NUM30, NUM31, NUM32),                                                \
> +    INIT32 (NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, NUM39, NUM40, NUM41,     \
> +           NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, NUM48, NUM49, NUM50,     \
> +           NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, NUM57, NUM58, NUM59,     \
> +           NUM60, NUM61, NUM62, NUM63, NUM64)
> +#define INIT128(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
> +               NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, \
> +               NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, \
> +               NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, \
> +               NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, \
> +               NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, \
> +               NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64, \
> +               NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, NUM73, \
> +               NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, NUM82, \
> +               NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, NUM91, \
> +               NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99,        \
> +               NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106,        \
> +               NUM107, NUM108, NUM109, NUM110, NUM111, NUM112, NUM113,        \
> +               NUM114, NUM115, NUM116, NUM117, NUM118, NUM119, NUM120,        \
> +               NUM121, NUM122, NUM123, NUM124, NUM125, NUM126, NUM127,        \
> +               NUM128)                                                        \
> +  INIT64 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
> +         NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, NUM20,       \
> +         NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, NUM29,       \
> +         NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, NUM38,       \
> +         NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, NUM47,       \
> +         NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, NUM56,       \
> +         NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64),             \
> +    INIT64 (NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, NUM73,     \
> +           NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, NUM82,     \
> +           NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, NUM91,     \
> +           NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, NUM100,    \
> +           NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, NUM107, NUM108,    \
> +           NUM109, NUM110, NUM111, NUM112, NUM113, NUM114, NUM115, NUM116,    \
> +           NUM117, NUM118, NUM119, NUM120, NUM121, NUM122, NUM123, NUM124,    \
> +           NUM125, NUM126, NUM127, NUM128)
> +
> +#define DEF_INIT(TYPE1, TYPE2, NUM, ...)                                       \
> +  void init_##TYPE1##_##TYPE2##_##NUM (VARS##NUM (TYPE2, __VA_ARGS__),         \
> +                                      TYPE2 *__restrict out)                  \
> +  {                                                                            \
> +    TYPE1 v = {INIT##NUM (__VA_ARGS__)};                                       \
> +    *(TYPE1 *) out = v;                                                        \
> +  }
> +
> +#define DEF_REPEAT(TYPE1, TYPE2, NUM, ...)                                     \
> +  void init_##TYPE1##_##TYPE2##_##NUM (TYPE2 var0, TYPE2 var1,                 \
> +                                      TYPE2 *__restrict out)                  \
> +  {                                                                            \
> +    TYPE1 v = {__VA_ARGS__};                                                   \
> +    *(TYPE1 *) out = v;                                                        \
> +  }
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
> new file mode 100644
> index 00000000000..aec2c6e5e5f
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
> @@ -0,0 +1,46 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2qi, int8_t, 2, 0, 1)
> +DEF_INIT (v4qi, int8_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8qi, int8_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16qi, int8_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32qi, int8_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64qi, int8_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128qi, int8_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
> +         66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
> +         83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
> +         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
> +         114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
> +DEF_INIT (v2uqi, uint8_t, 2, 0, 1)
> +DEF_INIT (v4uqi, uint8_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8uqi, uint8_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16uqi, uint8_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32uqi, uint8_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64uqi, uint8_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128uqi, uint8_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
> new file mode 100644
> index 00000000000..f9c58aef553
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
> @@ -0,0 +1,48 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl256b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2hi, int16_t, 2, 0, 1)
> +DEF_INIT (v4hi, int16_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8hi, int16_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16hi, int16_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32hi, int16_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64hi, int16_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128hi, int16_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +DEF_INIT (v2uhi, uint16_t, 2, 0, 1)
> +DEF_INIT (v4uhi, uint16_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8uhi, uint16_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16uhi, uint16_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15)
> +DEF_INIT (v32uhi, uint16_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31)
> +DEF_INIT (v64uhi, uint16_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128uhi, uint16_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
> new file mode 100644
> index 00000000000..eb970c7b042
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
> @@ -0,0 +1,27 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl256b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2hf, _Float16, 2, 0, 1)
> +DEF_INIT (v4hf, _Float16, 4, 0, 1, 2, 3)
> +DEF_INIT (v8hf, _Float16, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16hf, _Float16, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32hf, _Float16, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64hf, _Float16, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128hf, _Float16, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
> new file mode 100644
> index 00000000000..fedeb445a2b
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
> @@ -0,0 +1,48 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl512b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2si, int32_t, 2, 0, 1)
> +DEF_INIT (v4si, int32_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8si, int32_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16si, int32_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32si, int32_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64si, int32_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128si, int32_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +DEF_INIT (v2usi, uint32_t, 2, 0, 1)
> +DEF_INIT (v4usi, uint32_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8usi, uint32_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16usi, uint32_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15)
> +DEF_INIT (v32usi, uint32_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31)
> +DEF_INIT (v64usi, uint32_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128usi, uint32_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
> new file mode 100644
> index 00000000000..c93ac524c88
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
> @@ -0,0 +1,26 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl512b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2sf, float, 2, 0, 1)
> +DEF_INIT (v4sf, float, 4, 0, 1, 2, 3)
> +DEF_INIT (v8sf, float, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16sf, float, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32sf, float, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64sf, float, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128sf, float, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
> +         66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
> +         83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
> +         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
> +         114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
> +
> +/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
> new file mode 100644
> index 00000000000..304539f4868
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
> @@ -0,0 +1,48 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl1024b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2di, int64_t, 2, 0, 1)
> +DEF_INIT (v4di, int64_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8di, int64_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16di, int64_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32di, int64_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64di, int64_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128di, int64_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +DEF_INIT (v2udi, uint64_t, 2, 0, 1)
> +DEF_INIT (v4udi, uint64_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8udi, uint64_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16udi, uint64_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15)
> +DEF_INIT (v32udi, uint64_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31)
> +DEF_INIT (v64udi, uint64_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128udi, uint64_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
> new file mode 100644
> index 00000000000..4b966010dca
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
> @@ -0,0 +1,26 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl1024b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2df, double, 2, 0, 1)
> +DEF_INIT (v4df, double, 4, 0, 1, 2, 3)
> +DEF_INIT (v8df, double, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16df, double, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32df, double, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64df, double, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128df, double, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
> +         66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
> +         83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
> +         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
> +         114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
> +
> +/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
> new file mode 100644
> index 00000000000..2c831f9f228
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
> @@ -0,0 +1,654 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256qi, int8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512qi, int8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024qi, int8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +DEF_REPEAT (
> +  v2048qi, int8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v4096qi, int8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
> new file mode 100644
> index 00000000000..a465bb6ea64
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
> @@ -0,0 +1,654 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256uqi, uint8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512uqi, uint8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024uqi, uint8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +DEF_REPEAT (
> +  v2048uqi, uint8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v4096uqi, uint8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
> new file mode 100644
> index 00000000000..9c9899b31dd
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
> @@ -0,0 +1,337 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256hi, int16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512hi, int16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024hi, int16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +DEF_REPEAT (
> +  v2048hi, int16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
> new file mode 100644
> index 00000000000..17bc31367d6
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
> @@ -0,0 +1,337 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1)
> +DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256uhi, uint16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512uhi, uint16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024uhi, uint16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1)
> +DEF_REPEAT (
> +  v2048uhi, uint16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
> new file mode 100644
> index 00000000000..6398f2476ad
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
> @@ -0,0 +1,178 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4si, int32_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8si, int32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16si, int32_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32si, int32_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64si, int32_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128si, int32_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256si, int32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512si, int32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024si, int32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
> new file mode 100644
> index 00000000000..960a164112f
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
> @@ -0,0 +1,178 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1)
> +DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256usi, uint32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512usi, uint32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024usi, uint32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
> new file mode 100644
> index 00000000000..98be878daed
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
> @@ -0,0 +1,53 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v16di, int64_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32di, int64_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64di, int64_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128di, int64_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256di, int64_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmerge\.vxm} 5 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
> new file mode 100644
> index 00000000000..b8d952ef6ad
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
> @@ -0,0 +1,337 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256hf, _Float16, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512hf, _Float16, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024hf, _Float16, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +DEF_REPEAT (
> +  v2048hf, _Float16, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
> +/* { dg-final { scan-assembler-not {vfslide1down\.vf} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
> new file mode 100644
> index 00000000000..1db68fcf3fe
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
> @@ -0,0 +1,178 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4sf, float, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8sf, float, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16sf, float, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32sf, float, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64sf, float, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128sf, float, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256sf, float, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512sf, float, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024sf, float, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
> +/* { dg-final { scan-assembler-not {vfslide1down\.vf} } } */
> --
> 2.36.3
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH] RISC-V: Support VLS modes vec_init auto-vectorization
  2023-09-18  8:19 ` Kito Cheng
@ 2023-09-18  8:34   ` Li, Pan2
  0 siblings, 0 replies; 3+ messages in thread
From: Li, Pan2 @ 2023-09-18  8:34 UTC (permalink / raw)
  To: Kito Cheng, Juzhe-Zhong; +Cc: gcc-patches, kito.cheng, jeffreyalaw, rdapp.gcc

Committed, thanks Kito.

Pan

-----Original Message-----
From: Gcc-patches <gcc-patches-bounces+pan2.li=intel.com@gcc.gnu.org> On Behalf Of Kito Cheng via Gcc-patches
Sent: Monday, September 18, 2023 4:19 PM
To: Juzhe-Zhong <juzhe.zhong@rivai.ai>
Cc: gcc-patches@gcc.gnu.org; kito.cheng@sifive.com; jeffreyalaw@gmail.com; rdapp.gcc@gmail.com
Subject: Re: [PATCH] RISC-V: Support VLS modes vec_init auto-vectorization

LGTM

On Fri, Sep 15, 2023 at 11:57 AM Juzhe-Zhong <juzhe.zhong@rivai.ai> wrote:
>
> There are multiple SLP dump FAILs in vect testsuite.
> After analysis, confirm we are missing vec_init for VLS modes.
> This patch is not sufficient to fix those FAILs (We need more VLS patterns will send them soon).
>
> This patch is the prerequsite patch for fixing those SLP FAILs.
>
> Finish the whole regression.
> Ok for trunk ?
>
> gcc/ChangeLog:
>
>         * config/riscv/autovec.md: Extend VLS modes.
>         * config/riscv/vector.md: Ditto.
>
> gcc/testsuite/ChangeLog:
>
>         * gcc.target/riscv/rvv/autovec/vls/def.h: Add VLS vec_init tests.
>         * gcc.target/riscv/rvv/autovec/vls/init-1.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-2.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-3.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-4.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-5.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-6.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/init-7.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-1.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-2.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-3.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-4.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-5.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-6.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-7.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-8.c: New test.
>         * gcc.target/riscv/rvv/autovec/vls/repeat-9.c: New test.
>
> ---
>  gcc/config/riscv/autovec.md                   |   2 +-
>  gcc/config/riscv/vector.md                    |  68 +-
>  .../gcc.target/riscv/rvv/autovec/vls/def.h    | 143 ++++
>  .../gcc.target/riscv/rvv/autovec/vls/init-1.c |  46 ++
>  .../gcc.target/riscv/rvv/autovec/vls/init-2.c |  48 ++
>  .../gcc.target/riscv/rvv/autovec/vls/init-3.c |  27 +
>  .../gcc.target/riscv/rvv/autovec/vls/init-4.c |  48 ++
>  .../gcc.target/riscv/rvv/autovec/vls/init-5.c |  26 +
>  .../gcc.target/riscv/rvv/autovec/vls/init-6.c |  48 ++
>  .../gcc.target/riscv/rvv/autovec/vls/init-7.c |  26 +
>  .../riscv/rvv/autovec/vls/repeat-1.c          | 654 ++++++++++++++++++
>  .../riscv/rvv/autovec/vls/repeat-2.c          | 654 ++++++++++++++++++
>  .../riscv/rvv/autovec/vls/repeat-3.c          | 337 +++++++++
>  .../riscv/rvv/autovec/vls/repeat-4.c          | 337 +++++++++
>  .../riscv/rvv/autovec/vls/repeat-5.c          | 178 +++++
>  .../riscv/rvv/autovec/vls/repeat-6.c          | 178 +++++
>  .../riscv/rvv/autovec/vls/repeat-7.c          |  53 ++
>  .../riscv/rvv/autovec/vls/repeat-8.c          | 337 +++++++++
>  .../riscv/rvv/autovec/vls/repeat-9.c          | 178 +++++
>  19 files changed, 3353 insertions(+), 35 deletions(-)
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
>  create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
>
> diff --git a/gcc/config/riscv/autovec.md b/gcc/config/riscv/autovec.md
> index 0a60f45301b..1e0dae0d7f5 100644
> --- a/gcc/config/riscv/autovec.md
> +++ b/gcc/config/riscv/autovec.md
> @@ -373,7 +373,7 @@
>  ;; -------------------------------------------------------------------------
>
>  (define_expand "vec_init<mode><vel>"
> -  [(match_operand:V 0 "register_operand")
> +  [(match_operand:V_VLS 0 "register_operand")
>     (match_operand 1 "")]
>    "TARGET_VECTOR"
>    {
> diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md
> index fb0c8abd995..d3df983c580 100644
> --- a/gcc/config/riscv/vector.md
> +++ b/gcc/config/riscv/vector.md
> @@ -1607,40 +1607,40 @@
>     (set_attr "mode" "<MODE>")])
>
>  (define_insn "@pred_merge<mode>_scalar"
> -  [(set (match_operand:VI_QHS 0 "register_operand"   "=vd,vd")
> -    (if_then_else:VI_QHS
> +  [(set (match_operand:V_VLSI_QHS 0 "register_operand"   "=vd,vd")
> +    (if_then_else:V_VLSI_QHS
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand"    " rK,rK")
>           (match_operand 6 "const_int_operand"        "  i, i")
>           (match_operand 7 "const_int_operand"        "  i, i")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VI_QHS
> -       (vec_duplicate:VI_QHS
> +      (vec_merge:V_VLSI_QHS
> +       (vec_duplicate:V_VLSI_QHS
>            (match_operand:<VEL> 3 "register_operand"  "  r, r"))
> -        (match_operand:VI_QHS 2 "register_operand"   " vr,vr")
> +        (match_operand:V_VLSI_QHS 2 "register_operand"   " vr,vr")
>         (match_operand:<VM> 4 "register_operand"     " vm,vm"))
> -      (match_operand:VI_QHS 1 "vector_merge_operand" " vu, 0")))]
> +      (match_operand:V_VLSI_QHS 1 "vector_merge_operand" " vu, 0")))]
>    "TARGET_VECTOR"
>    "vmerge.vxm\t%0,%2,%3,%4"
>    [(set_attr "type" "vimerge")
>     (set_attr "mode" "<MODE>")])
>
>  (define_expand "@pred_merge<mode>_scalar"
> -  [(set (match_operand:VI_D 0 "register_operand")
> -    (if_then_else:VI_D
> +  [(set (match_operand:V_VLSI_D 0 "register_operand")
> +    (if_then_else:V_VLSI_D
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand")
>           (match_operand 6 "const_int_operand")
>           (match_operand 7 "const_int_operand")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VI_D
> -       (vec_duplicate:VI_D
> +      (vec_merge:V_VLSI_D
> +       (vec_duplicate:V_VLSI_D
>            (match_operand:<VEL> 3 "reg_or_int_operand"))
> -        (match_operand:VI_D 2 "register_operand")
> +        (match_operand:V_VLSI_D 2 "register_operand")
>         (match_operand:<VM> 4 "register_operand"))
> -      (match_operand:VI_D 1 "vector_merge_operand")))]
> +      (match_operand:V_VLSI_D 1 "vector_merge_operand")))]
>    "TARGET_VECTOR"
>  {
>    if (riscv_vector::sew64_scalar_helper (
> @@ -1658,41 +1658,41 @@
>  })
>
>  (define_insn "*pred_merge<mode>_scalar"
> -  [(set (match_operand:VI_D 0 "register_operand"     "=vd,vd")
> -    (if_then_else:VI_D
> +  [(set (match_operand:V_VLSI_D 0 "register_operand"     "=vd,vd")
> +    (if_then_else:V_VLSI_D
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand"    " rK,rK")
>           (match_operand 6 "const_int_operand"        "  i, i")
>           (match_operand 7 "const_int_operand"        "  i, i")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VI_D
> -       (vec_duplicate:VI_D
> +      (vec_merge:V_VLSI_D
> +       (vec_duplicate:V_VLSI_D
>            (match_operand:<VEL> 3 "register_operand"  "  r, r"))
> -        (match_operand:VI_D 2 "register_operand"     " vr,vr")
> +        (match_operand:V_VLSI_D 2 "register_operand"     " vr,vr")
>         (match_operand:<VM> 4 "register_operand"     " vm,vm"))
> -      (match_operand:VI_D 1 "vector_merge_operand"   " vu, 0")))]
> +      (match_operand:V_VLSI_D 1 "vector_merge_operand"   " vu, 0")))]
>    "TARGET_VECTOR"
>    "vmerge.vxm\t%0,%2,%3,%4"
>    [(set_attr "type" "vimerge")
>     (set_attr "mode" "<MODE>")])
>
>  (define_insn "*pred_merge<mode>_extended_scalar"
> -  [(set (match_operand:VI_D 0 "register_operand"         "=vd,vd")
> -    (if_then_else:VI_D
> +  [(set (match_operand:V_VLSI_D 0 "register_operand"         "=vd,vd")
> +    (if_then_else:V_VLSI_D
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand"        " rK,rK")
>           (match_operand 6 "const_int_operand"            "  i, i")
>           (match_operand 7 "const_int_operand"            "  i, i")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VI_D
> -       (vec_duplicate:VI_D
> +      (vec_merge:V_VLSI_D
> +       (vec_duplicate:V_VLSI_D
>           (sign_extend:<VEL>
>              (match_operand:<VSUBEL> 3 "register_operand" "  r, r")))
> -        (match_operand:VI_D 2 "register_operand"         " vr,vr")
> +        (match_operand:V_VLSI_D 2 "register_operand"         " vr,vr")
>         (match_operand:<VM> 4 "register_operand"         " vm,vm"))
> -      (match_operand:VI_D 1 "vector_merge_operand"       " vu, 0")))]
> +      (match_operand:V_VLSI_D 1 "vector_merge_operand"       " vu, 0")))]
>    "TARGET_VECTOR"
>    "vmerge.vxm\t%0,%2,%3,%4"
>    [(set_attr "type" "vimerge")
> @@ -7422,20 +7422,20 @@
>  ;; -------------------------------------------------------------------------------
>
>  (define_insn "@pred_merge<mode>_scalar"
> -  [(set (match_operand:VF 0 "register_operand"      "=vd,vd")
> -    (if_then_else:VF
> +  [(set (match_operand:V_VLSF 0 "register_operand"      "=vd,vd")
> +    (if_then_else:V_VLSF
>        (unspec:<VM>
>          [(match_operand 5 "vector_length_operand"   " rK,rK")
>           (match_operand 6 "const_int_operand"       "  i, i")
>           (match_operand 7 "const_int_operand"       "  i, i")
>           (reg:SI VL_REGNUM)
>           (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -      (vec_merge:VF
> -        (vec_duplicate:VF
> +      (vec_merge:V_VLSF
> +        (vec_duplicate:V_VLSF
>            (match_operand:<VEL> 3 "register_operand" "  f, f"))
> -        (match_operand:VF 2 "register_operand"      " vr,vr")
> +        (match_operand:V_VLSF 2 "register_operand"      " vr,vr")
>         (match_operand:<VM> 4 "register_operand"    " vm,vm"))
> -      (match_operand:VF 1 "vector_merge_operand"    " vu, 0")))]
> +      (match_operand:V_VLSF 1 "vector_merge_operand"    " vu, 0")))]
>    "TARGET_VECTOR"
>    "vfmerge.vfm\t%0,%2,%3,%4"
>    [(set_attr "type" "vfmerge")
> @@ -8044,8 +8044,8 @@
>
>  ;; vfslide1 instructions
>  (define_insn "@pred_slide<ud><mode>"
> -  [(set (match_operand:VF 0 "register_operand"            "<ud_constraint>")
> -       (unspec:VF
> +  [(set (match_operand:V_VLSF 0 "register_operand"  "<ud_constraint>")
> +       (unspec:V_VLSF
>           [(unspec:<VM>
>              [(match_operand:<VM> 1 "vector_mask_operand" " vm, vm,Wc1,Wc1")
>               (match_operand 5 "vector_length_operand"    " rK, rK, rK, rK")
> @@ -8054,8 +8054,8 @@
>               (match_operand 8 "const_int_operand"        "  i,  i,  i,  i")
>               (reg:SI VL_REGNUM)
>               (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE)
> -          (match_operand:VF 2 "vector_merge_operand"     " vu,  0, vu,  0")
> -          (match_operand:VF 3 "register_operand"         " vr, vr, vr, vr")
> +          (match_operand:V_VLSF 2 "vector_merge_operand" " vu,  0, vu,  0")
> +          (match_operand:V_VLSF 3 "register_operand"     " vr, vr, vr, vr")
>            (match_operand:<VEL> 4 "register_operand"      "  f,  f,  f,  f")] VFSLIDES1))]
>    "TARGET_VECTOR"
>    "vfslide<ud>.vf\t%0,%3,%4%p1"
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
> index 1edc1910920..a0fe2f6f2f5 100644
> --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
> @@ -258,3 +258,146 @@ typedef double v512df __attribute__ ((vector_size (4096)));
>      for (int i = 0; i < NUM; ++i)                                              \
>        a[i] = (b[i] > c[i]) OP (d[i] < e[i]);                                   \
>    }
> +
> +#define VARS2(TYPE, NUM1, NUM2) TYPE var##NUM1, TYPE var##NUM2
> +#define VARS4(TYPE, NUM1, NUM2, NUM3, NUM4)                                    \
> +  VARS2 (TYPE, NUM1, NUM2), VARS2 (TYPE, NUM3, NUM4)
> +#define VARS8(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8)            \
> +  VARS4 (TYPE, NUM1, NUM2, NUM3, NUM4), VARS4 (TYPE, NUM5, NUM6, NUM7, NUM8)
> +#define VARS16(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
> +              NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)                \
> +  VARS8 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8),                \
> +    VARS8 (TYPE, NUM9, NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)
> +#define VARS32(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
> +              NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18,  \
> +              NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27,  \
> +              NUM28, NUM29, NUM30, NUM31, NUM32)                              \
> +  VARS16 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
> +         NUM11, NUM12, NUM13, NUM14, NUM15, NUM16),                           \
> +    VARS16 (TYPE, NUM17, NUM18, NUM19, NUM20, NUM21, NUM22, NUM23, NUM24,      \
> +           NUM25, NUM26, NUM27, NUM28, NUM29, NUM30, NUM31, NUM32)
> +#define VARS64(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,     \
> +              NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18,  \
> +              NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27,  \
> +              NUM28, NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36,  \
> +              NUM37, NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45,  \
> +              NUM46, NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54,  \
> +              NUM55, NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63,  \
> +              NUM64)                                                          \
> +  VARS32 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
> +         NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,       \
> +         NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,       \
> +         NUM29, NUM30, NUM31, NUM32),                                         \
> +    VARS32 (TYPE, NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, NUM39, NUM40,      \
> +           NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, NUM48, NUM49,     \
> +           NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, NUM57, NUM58,     \
> +           NUM59, NUM60, NUM61, NUM62, NUM63, NUM64)
> +#define VARS128(TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9,    \
> +               NUM10, NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, \
> +               NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, \
> +               NUM28, NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, \
> +               NUM37, NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, \
> +               NUM46, NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, \
> +               NUM55, NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, \
> +               NUM64, NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, \
> +               NUM73, NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, \
> +               NUM82, NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, \
> +               NUM91, NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, \
> +               NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106,        \
> +               NUM107, NUM108, NUM109, NUM110, NUM111, NUM112, NUM113,        \
> +               NUM114, NUM115, NUM116, NUM117, NUM118, NUM119, NUM120,        \
> +               NUM121, NUM122, NUM123, NUM124, NUM125, NUM126, NUM127,        \
> +               NUM128)                                                        \
> +  VARS64 (TYPE, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
> +         NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,       \
> +         NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,       \
> +         NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37,       \
> +         NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46,       \
> +         NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55,       \
> +         NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64),      \
> +    VARS64 (TYPE, NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72,      \
> +           NUM73, NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81,     \
> +           NUM82, NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90,     \
> +           NUM91, NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99,     \
> +           NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, NUM107,    \
> +           NUM108, NUM109, NUM110, NUM111, NUM112, NUM113, NUM114, NUM115,    \
> +           NUM116, NUM117, NUM118, NUM119, NUM120, NUM121, NUM122, NUM123,    \
> +           NUM124, NUM125, NUM126, NUM127, NUM128)
> +
> +#define INIT2(NUM1, NUM2) var##NUM1, var##NUM2
> +#define INIT4(NUM1, NUM2, NUM3, NUM4) INIT2 (NUM1, NUM2), INIT2 (NUM3, NUM4)
> +#define INIT8(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8)                  \
> +  INIT4 (NUM1, NUM2, NUM3, NUM4), INIT4 (NUM5, NUM6, NUM7, NUM8)
> +#define INIT16(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
> +              NUM11, NUM12, NUM13, NUM14, NUM15, NUM16)                       \
> +  INIT4 (NUM1, NUM2, NUM3, NUM4), INIT4 (NUM5, NUM6, NUM7, NUM8)
> +#define INIT32(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
> +              NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,  \
> +              NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,  \
> +              NUM29, NUM30, NUM31, NUM32)                                     \
> +  INIT16 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
> +         NUM12, NUM13, NUM14, NUM15, NUM16),                                  \
> +    INIT16 (NUM17, NUM18, NUM19, NUM20, NUM21, NUM22, NUM23, NUM24, NUM25,     \
> +           NUM26, NUM27, NUM28, NUM29, NUM30, NUM31, NUM32)
> +#define INIT64(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,    \
> +              NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19,  \
> +              NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28,  \
> +              NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37,  \
> +              NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46,  \
> +              NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55,  \
> +              NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64)  \
> +  INIT32 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
> +         NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, NUM20,       \
> +         NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, NUM29,       \
> +         NUM30, NUM31, NUM32),                                                \
> +    INIT32 (NUM33, NUM34, NUM35, NUM36, NUM37, NUM38, NUM39, NUM40, NUM41,     \
> +           NUM42, NUM43, NUM44, NUM45, NUM46, NUM47, NUM48, NUM49, NUM50,     \
> +           NUM51, NUM52, NUM53, NUM54, NUM55, NUM56, NUM57, NUM58, NUM59,     \
> +           NUM60, NUM61, NUM62, NUM63, NUM64)
> +#define INIT128(NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10,   \
> +               NUM11, NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, \
> +               NUM20, NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, \
> +               NUM29, NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, \
> +               NUM38, NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, \
> +               NUM47, NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, \
> +               NUM56, NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64, \
> +               NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, NUM73, \
> +               NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, NUM82, \
> +               NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, NUM91, \
> +               NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99,        \
> +               NUM100, NUM101, NUM102, NUM103, NUM104, NUM105, NUM106,        \
> +               NUM107, NUM108, NUM109, NUM110, NUM111, NUM112, NUM113,        \
> +               NUM114, NUM115, NUM116, NUM117, NUM118, NUM119, NUM120,        \
> +               NUM121, NUM122, NUM123, NUM124, NUM125, NUM126, NUM127,        \
> +               NUM128)                                                        \
> +  INIT64 (NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, NUM10, NUM11,  \
> +         NUM12, NUM13, NUM14, NUM15, NUM16, NUM17, NUM18, NUM19, NUM20,       \
> +         NUM21, NUM22, NUM23, NUM24, NUM25, NUM26, NUM27, NUM28, NUM29,       \
> +         NUM30, NUM31, NUM32, NUM33, NUM34, NUM35, NUM36, NUM37, NUM38,       \
> +         NUM39, NUM40, NUM41, NUM42, NUM43, NUM44, NUM45, NUM46, NUM47,       \
> +         NUM48, NUM49, NUM50, NUM51, NUM52, NUM53, NUM54, NUM55, NUM56,       \
> +         NUM57, NUM58, NUM59, NUM60, NUM61, NUM62, NUM63, NUM64),             \
> +    INIT64 (NUM65, NUM66, NUM67, NUM68, NUM69, NUM70, NUM71, NUM72, NUM73,     \
> +           NUM74, NUM75, NUM76, NUM77, NUM78, NUM79, NUM80, NUM81, NUM82,     \
> +           NUM83, NUM84, NUM85, NUM86, NUM87, NUM88, NUM89, NUM90, NUM91,     \
> +           NUM92, NUM93, NUM94, NUM95, NUM96, NUM97, NUM98, NUM99, NUM100,    \
> +           NUM101, NUM102, NUM103, NUM104, NUM105, NUM106, NUM107, NUM108,    \
> +           NUM109, NUM110, NUM111, NUM112, NUM113, NUM114, NUM115, NUM116,    \
> +           NUM117, NUM118, NUM119, NUM120, NUM121, NUM122, NUM123, NUM124,    \
> +           NUM125, NUM126, NUM127, NUM128)
> +
> +#define DEF_INIT(TYPE1, TYPE2, NUM, ...)                                       \
> +  void init_##TYPE1##_##TYPE2##_##NUM (VARS##NUM (TYPE2, __VA_ARGS__),         \
> +                                      TYPE2 *__restrict out)                  \
> +  {                                                                            \
> +    TYPE1 v = {INIT##NUM (__VA_ARGS__)};                                       \
> +    *(TYPE1 *) out = v;                                                        \
> +  }
> +
> +#define DEF_REPEAT(TYPE1, TYPE2, NUM, ...)                                     \
> +  void init_##TYPE1##_##TYPE2##_##NUM (TYPE2 var0, TYPE2 var1,                 \
> +                                      TYPE2 *__restrict out)                  \
> +  {                                                                            \
> +    TYPE1 v = {__VA_ARGS__};                                                   \
> +    *(TYPE1 *) out = v;                                                        \
> +  }
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
> new file mode 100644
> index 00000000000..aec2c6e5e5f
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-1.c
> @@ -0,0 +1,46 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2qi, int8_t, 2, 0, 1)
> +DEF_INIT (v4qi, int8_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8qi, int8_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16qi, int8_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32qi, int8_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64qi, int8_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128qi, int8_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
> +         66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
> +         83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
> +         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
> +         114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
> +DEF_INIT (v2uqi, uint8_t, 2, 0, 1)
> +DEF_INIT (v4uqi, uint8_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8uqi, uint8_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16uqi, uint8_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32uqi, uint8_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64uqi, uint8_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128uqi, uint8_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
> new file mode 100644
> index 00000000000..f9c58aef553
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-2.c
> @@ -0,0 +1,48 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl256b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2hi, int16_t, 2, 0, 1)
> +DEF_INIT (v4hi, int16_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8hi, int16_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16hi, int16_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32hi, int16_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64hi, int16_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128hi, int16_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +DEF_INIT (v2uhi, uint16_t, 2, 0, 1)
> +DEF_INIT (v4uhi, uint16_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8uhi, uint16_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16uhi, uint16_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15)
> +DEF_INIT (v32uhi, uint16_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31)
> +DEF_INIT (v64uhi, uint16_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128uhi, uint16_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
> new file mode 100644
> index 00000000000..eb970c7b042
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-3.c
> @@ -0,0 +1,27 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl256b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2hf, _Float16, 2, 0, 1)
> +DEF_INIT (v4hf, _Float16, 4, 0, 1, 2, 3)
> +DEF_INIT (v8hf, _Float16, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16hf, _Float16, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32hf, _Float16, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64hf, _Float16, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128hf, _Float16, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
> new file mode 100644
> index 00000000000..fedeb445a2b
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-4.c
> @@ -0,0 +1,48 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl512b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2si, int32_t, 2, 0, 1)
> +DEF_INIT (v4si, int32_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8si, int32_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16si, int32_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32si, int32_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64si, int32_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128si, int32_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +DEF_INIT (v2usi, uint32_t, 2, 0, 1)
> +DEF_INIT (v4usi, uint32_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8usi, uint32_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16usi, uint32_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15)
> +DEF_INIT (v32usi, uint32_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31)
> +DEF_INIT (v64usi, uint32_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128usi, uint32_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
> new file mode 100644
> index 00000000000..c93ac524c88
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-5.c
> @@ -0,0 +1,26 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl512b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2sf, float, 2, 0, 1)
> +DEF_INIT (v4sf, float, 4, 0, 1, 2, 3)
> +DEF_INIT (v8sf, float, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16sf, float, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32sf, float, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64sf, float, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128sf, float, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
> +         66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
> +         83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
> +         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
> +         114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
> +
> +/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
> new file mode 100644
> index 00000000000..304539f4868
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-6.c
> @@ -0,0 +1,48 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl1024b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2di, int64_t, 2, 0, 1)
> +DEF_INIT (v4di, int64_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8di, int64_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16di, int64_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32di, int64_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64di, int64_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128di, int64_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +DEF_INIT (v2udi, uint64_t, 2, 0, 1)
> +DEF_INIT (v4udi, uint64_t, 4, 0, 1, 2, 3)
> +DEF_INIT (v8udi, uint64_t, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16udi, uint64_t, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15)
> +DEF_INIT (v32udi, uint64_t, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31)
> +DEF_INIT (v64udi, uint64_t, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128udi, uint64_t, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
> +         14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30,
> +         31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
> +         48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
> +         65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
> +         82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
> +         99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
> +         113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126,
> +         127)
> +
> +/* { dg-final { scan-assembler-times {vslide1down\.vx} 494 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
> new file mode 100644
> index 00000000000..4b966010dca
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-7.c
> @@ -0,0 +1,26 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl1024b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_INIT (v2df, double, 2, 0, 1)
> +DEF_INIT (v4df, double, 4, 0, 1, 2, 3)
> +DEF_INIT (v8df, double, 8, 0, 1, 2, 3, 4, 5, 6, 7)
> +DEF_INIT (v16df, double, 16, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15)
> +DEF_INIT (v32df, double, 32, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
> +DEF_INIT (v64df, double, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63)
> +DEF_INIT (v128df, double, 128, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
> +         15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
> +         32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48,
> +         49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
> +         66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
> +         83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
> +         100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
> +         114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127)
> +
> +/* { dg-final { scan-assembler-times {vfslide1down\.vf} 247 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
> new file mode 100644
> index 00000000000..2c831f9f228
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-1.c
> @@ -0,0 +1,654 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256qi, int8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512qi, int8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024qi, int8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +DEF_REPEAT (
> +  v2048qi, int8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v4096qi, int8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
> new file mode 100644
> index 00000000000..a465bb6ea64
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-2.c
> @@ -0,0 +1,654 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256uqi, uint8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512uqi, uint8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024uqi, uint8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +DEF_REPEAT (
> +  v2048uqi, uint8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v4096uqi, uint8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
> new file mode 100644
> index 00000000000..9c9899b31dd
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-3.c
> @@ -0,0 +1,337 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256hi, int16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512hi, int16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024hi, int16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +DEF_REPEAT (
> +  v2048hi, int16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
> new file mode 100644
> index 00000000000..17bc31367d6
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-4.c
> @@ -0,0 +1,337 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1)
> +DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256uhi, uint16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512uhi, uint16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024uhi, uint16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1)
> +DEF_REPEAT (
> +  v2048uhi, uint16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
> new file mode 100644
> index 00000000000..6398f2476ad
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-5.c
> @@ -0,0 +1,178 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4si, int32_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8si, int32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16si, int32_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32si, int32_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64si, int32_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128si, int32_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256si, int32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512si, int32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024si, int32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
> new file mode 100644
> index 00000000000..960a164112f
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-6.c
> @@ -0,0 +1,178 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1)
> +DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256usi, uint32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512usi, uint32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024usi, uint32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
> +/* { dg-final { scan-assembler-not {vslide1down\.vx} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
> new file mode 100644
> index 00000000000..98be878daed
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-7.c
> @@ -0,0 +1,53 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v16di, int64_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32di, int64_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64di, int64_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128di, int64_t, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256di, int64_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmerge\.vxm} 5 } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
> new file mode 100644
> index 00000000000..b8d952ef6ad
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-8.c
> @@ -0,0 +1,337 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256hf, _Float16, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512hf, _Float16, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024hf, _Float16, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +DEF_REPEAT (
> +  v2048hf, _Float16, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
> +/* { dg-final { scan-assembler-not {vfslide1down\.vf} } } */
> diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
> new file mode 100644
> index 00000000000..1db68fcf3fe
> --- /dev/null
> +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/repeat-9.c
> @@ -0,0 +1,178 @@
> +/* { dg-do compile } */
> +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
> +
> +#include "def.h"
> +
> +DEF_REPEAT (v4sf, float, 4, var0, var1, var0, var1)
> +DEF_REPEAT (v8sf, float, 8, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v16sf, float, 16, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (v32sf, float, 32, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1)
> +DEF_REPEAT (v64sf, float, 64, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1)
> +DEF_REPEAT (v128sf, float, 128, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +           var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +           var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v256sf, float, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v512sf, float, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1)
> +DEF_REPEAT (
> +  v1024sf, float, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
> +  var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
> +  var1)
> +
> +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
> +/* { dg-final { scan-assembler-not {vfslide1down\.vf} } } */
> --
> 2.36.3
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-09-18  8:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-09-15  3:53 [PATCH] RISC-V: Support VLS modes vec_init auto-vectorization Juzhe-Zhong
2023-09-18  8:19 ` Kito Cheng
2023-09-18  8:34   ` Li, Pan2

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).