public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc(refs/vendors/riscv/heads/gcc-13-with-riscv-opts)] RISC-V: Refine the mask generation for vec_init case 2
@ 2023-11-21  4:09 Jeff Law
  0 siblings, 0 replies; only message in thread
From: Jeff Law @ 2023-11-21  4:09 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:ebace449ad33f737fd59bea63af17edd3f9659b8

commit ebace449ad33f737fd59bea63af17edd3f9659b8
Author: Pan Li <pan2.li@intel.com>
Date:   Wed Nov 15 11:30:51 2023 +0800

    RISC-V: Refine the mask generation for vec_init case 2
    
    Update in v2:
    1. Add more test cases for fixed-vlmax.
    2, Add test cases for vls mode.
    
    Original log:
    
    We take vec_init element int mode when generate the mask for
    case 2. But actually we don't need as many bits as the element.
    The extra bigger mode may introduce some unnecessary insns.
    For example as below code:
    
    typedef int64_t v16di __attribute__ ((vector_size (16 * 8)));
    
    void __attribute__ ((noinline, noclone))
      foo (int64_t *out, int64_t x, int64_t y)
    {
      v16di v = {y, x, y, x, y, x, y, x, y, x, y, x, y, x, y, x};
      *(v16di *) out = v;
    }
    
    We will have VDImode when generate the 0b0101010101010101 mask but
    actually VHImode is good enough here. This patch would like to
    refine the mask generation to avoid:
    1. Unnecessary scalar to generate big constant mask.
    2. Unnecessary vector insn to v0 mask.
    
    Before this patch:
    foo:
      li      a5,-1431654400
      li      a4,-1431654400               <== unnecessary insn
      addi    a5,a5,-1365                  <== unnecessary insn
      addi    a4,a4,-1366
      slli    a5,a5,32                     <== unnecessary insn
      add     a5,a5,a4                     <== unnecessary insn
      vsetivli        zero,16,e64,m8,ta,ma
      vmv.v.x v8,a2
      vmv.s.x v16,a5
      vmv1r.v v0,v16                       <== unnecessary insn
      vmerge.vxm      v8,v8,a1,v0
      vse64.v v8,0(a0)
      ret
    
    After this patch:
    foo:
      li      a5,-20480
      addiw   a5,a5,-1366
      vsetivli        zero,16,e64,m8,ta,ma
      vmv.s.x v0,a5
      vmv.v.x v8,a2
      vmerge.vxm      v8,v8,a1,v0
      vs8r.v  v8,0(a0)
      ret
    
    gcc/ChangeLog:
    
            * config/riscv/riscv-v.cc (rvv_builder::get_merge_scalar_mask):
            Add inner_mode mask arg for mask int mode.
            (get_repeating_sequence_dup_machine_mode): Add mask_bit_mode arg
            to get the good enough vector int mode on precision.
            (expand_vector_init_merge_repeating_sequence): Pass required args
            to above func.
    
    gcc/testsuite/ChangeLog:
    
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c: New test.
            * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c: New test.
            * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c: New test.
    
    Signed-off-by: Pan Li <pan2.li@intel.com>
    (cherry picked from commit 319bbb3693787a5493cc46793804231d1670cdee)

Diff:
---
 gcc/config/riscv/riscv-v.cc                        |  54 +-
 .../autovec/vls-vlmax/init-repeat-sequence-10.c    |  28 +
 .../autovec/vls-vlmax/init-repeat-sequence-11.c    |  26 +
 .../autovec/vls-vlmax/init-repeat-sequence-12.c    | 279 +++++++++
 .../autovec/vls-vlmax/init-repeat-sequence-13.c    |  57 ++
 .../autovec/vls-vlmax/init-repeat-sequence-14.c    |  87 +++
 .../autovec/vls-vlmax/init-repeat-sequence-15.c    | 151 +++++
 .../rvv/autovec/vls-vlmax/init-repeat-sequence-6.c |  27 +
 .../rvv/autovec/vls-vlmax/init-repeat-sequence-7.c |  25 +
 .../rvv/autovec/vls-vlmax/init-repeat-sequence-8.c |  27 +
 .../rvv/autovec/vls-vlmax/init-repeat-sequence-9.c |  25 +
 .../riscv/rvv/autovec/vls/init-repeat-sequence-0.c | 654 +++++++++++++++++++++
 .../riscv/rvv/autovec/vls/init-repeat-sequence-1.c | 654 +++++++++++++++++++++
 .../riscv/rvv/autovec/vls/init-repeat-sequence-2.c | 337 +++++++++++
 .../riscv/rvv/autovec/vls/init-repeat-sequence-3.c | 337 +++++++++++
 .../riscv/rvv/autovec/vls/init-repeat-sequence-4.c | 178 ++++++
 .../riscv/rvv/autovec/vls/init-repeat-sequence-5.c | 178 ++++++
 .../riscv/rvv/autovec/vls/init-repeat-sequence-6.c |  55 ++
 .../riscv/rvv/autovec/vls/init-repeat-sequence-7.c | 337 +++++++++++
 .../riscv/rvv/autovec/vls/init-repeat-sequence-8.c | 178 ++++++
 20 files changed, 3682 insertions(+), 12 deletions(-)

diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc
index 98a145ab82f..22d83077b59 100644
--- a/gcc/config/riscv/riscv-v.cc
+++ b/gcc/config/riscv/riscv-v.cc
@@ -416,7 +416,7 @@ public:
   bool repeating_sequence_use_merge_profitable_p ();
   bool combine_sequence_use_slideup_profitable_p ();
   bool combine_sequence_use_merge_profitable_p ();
-  rtx get_merge_scalar_mask (unsigned int) const;
+  rtx get_merge_scalar_mask (unsigned int, machine_mode) const;
 
   bool single_step_npatterns_p () const;
   bool npatterns_all_equal_p () const;
@@ -592,7 +592,8 @@ rvv_builder::get_merged_repeating_sequence ()
    To merge "b", the mask should be 0101....
 */
 rtx
-rvv_builder::get_merge_scalar_mask (unsigned int index_in_pattern) const
+rvv_builder::get_merge_scalar_mask (unsigned int index_in_pattern,
+				    machine_mode inner_mode) const
 {
   unsigned HOST_WIDE_INT mask = 0;
   unsigned HOST_WIDE_INT base_mask = (1ULL << index_in_pattern);
@@ -611,7 +612,7 @@ rvv_builder::get_merge_scalar_mask (unsigned int index_in_pattern) const
   for (int i = 0; i < limit; i++)
     mask |= base_mask << (i * npatterns ());
 
-  return gen_int_mode (mask, inner_int_mode ());
+  return gen_int_mode (mask, inner_mode);
 }
 
 /* Return true if the variable-length vector is single step.
@@ -919,17 +920,45 @@ emit_vlmax_decompress_insn (rtx target, rtx op0, rtx op1, rtx mask)
 /* Emit merge instruction.  */
 
 static machine_mode
-get_repeating_sequence_dup_machine_mode (const rvv_builder &builder)
+get_repeating_sequence_dup_machine_mode (const rvv_builder &builder,
+					 machine_mode mask_bit_mode)
 {
-  poly_uint64 dup_nunits = GET_MODE_NUNITS (builder.mode ());
+  unsigned mask_precision = GET_MODE_PRECISION (mask_bit_mode).to_constant ();
+  unsigned mask_scalar_size = mask_precision > builder.inner_bits_size ()
+    ? builder.inner_bits_size () : mask_precision;
 
-  if (known_ge (GET_MODE_SIZE (builder.mode ()), BYTES_PER_RISCV_VECTOR))
+  scalar_mode inner_mode;
+  unsigned minimal_bits_size;
+
+  switch (mask_scalar_size)
     {
-      dup_nunits = exact_div (BYTES_PER_RISCV_VECTOR,
-	builder.inner_bytes_size ());
+      case 8:
+	inner_mode = QImode;
+	minimal_bits_size = TARGET_MIN_VLEN / 8; /* AKA RVVMF8.  */
+	break;
+      case 16:
+	inner_mode = HImode;
+	minimal_bits_size = TARGET_MIN_VLEN / 4; /* AKA RVVMF4.  */
+	break;
+      case 32:
+	inner_mode = SImode;
+	minimal_bits_size = TARGET_MIN_VLEN / 2; /* AKA RVVMF2.  */
+	break;
+      case 64:
+	inner_mode = DImode;
+	minimal_bits_size = TARGET_MIN_VLEN / 1; /* AKA RVVM1.  */
+	break;
+      default:
+	gcc_unreachable ();
+	break;
     }
 
-  return get_vector_mode (builder.inner_int_mode (), dup_nunits).require ();
+  gcc_assert (mask_precision % mask_scalar_size == 0);
+
+  uint64_t dup_nunit = mask_precision > mask_scalar_size
+    ? mask_precision / mask_scalar_size : minimal_bits_size / mask_scalar_size;
+
+  return get_vector_mode (inner_mode, dup_nunit).require ();
 }
 
 /* Expand series const vector.  */
@@ -2130,9 +2159,9 @@ expand_vector_init_merge_repeating_sequence (rtx target,
      since we don't have such instruction in RVV.
      Instead, we should use INT mode (QI/HI/SI/DI) with integer move
      instruction to generate the mask data we want.  */
-  machine_mode mask_int_mode
-    = get_repeating_sequence_dup_machine_mode (builder);
   machine_mode mask_bit_mode = get_mask_mode (builder.mode ());
+  machine_mode mask_int_mode
+    = get_repeating_sequence_dup_machine_mode (builder, mask_bit_mode);
   uint64_t full_nelts = builder.full_nelts ().to_constant ();
 
   /* Step 1: Broadcast the first pattern.  */
@@ -2143,7 +2172,8 @@ expand_vector_init_merge_repeating_sequence (rtx target,
   for (unsigned int i = 1; i < builder.npatterns (); i++)
     {
       /* Step 2-1: Generate mask register v0 for each merge.  */
-      rtx merge_mask = builder.get_merge_scalar_mask (i);
+      rtx merge_mask
+	= builder.get_merge_scalar_mask (i, GET_MODE_INNER (mask_int_mode));
       rtx mask = gen_reg_rtx (mask_bit_mode);
       rtx dup = gen_reg_rtx (mask_int_mode);
 
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c
new file mode 100644
index 00000000000..ccce5052dc2
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c
@@ -0,0 +1,28 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx32di __attribute__ ((vector_size (32 * 8)));
+
+/*
+** f_vnx32di:
+**   vsetvli\s+[axt][0-9]+,\s*zero,\s*e64,\s*m2,\s*ta,\s*ma
+**   ...
+**   vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+**   ...
+**   vmv\.s\.x\s+v0,\s*[axt][0-9]+
+**   vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0
+**   vs2r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx32di (int64_t a, int64_t b, int64_t *out)
+{
+  vnx32di v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx32di *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c
new file mode 100644
index 00000000000..a62eee8a5ae
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c
@@ -0,0 +1,26 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+typedef double vnx32df __attribute__ ((vector_size (32 * 8)));
+
+/*
+** f_vnx32df:
+**   vsetvli\s+[axt][0-9]+\s*,zero,\s*e64,\s*m2,\s*ta,\s*ma
+**   ...
+**   vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+
+**   ...
+**   vmv\.s\.x\s+v0,\s*[axt][0-9]+
+**   vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0
+**   vs2r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx32df (double a, double b, double *out)
+{
+  vnx32df v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx32df *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c
new file mode 100644
index 00000000000..92cf29985d5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c
@@ -0,0 +1,279 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int8_t vnx4096qi __attribute__ ((vector_size (4096)));
+
+/*
+** f_vnx4096qi:
+**   ...
+**   vsetvli\s+[axt][0-9]+,\s*zero,\s*e16,\s*m8,\s*ta,\s*ma
+**   vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+**   vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx4096qi (int8_t a, int8_t b, int8_t *out)
+{
+  vnx4096qi v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx4096qi *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c
new file mode 100644
index 00000000000..e3ec3a106f7
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c
@@ -0,0 +1,57 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx512di __attribute__ ((vector_size (512 * 8)));
+
+/*
+** f_vnx512di:
+**   ...
+**   vsetivli\s+zero,\s*8,\s*e64,\s*m1,\s*ta,\s*ma
+**   vmv\.v\.x\s+v0,[atx][0-9]+
+**   vsetvli\s+[atx][0-9]+,\s*zero,\s*e64,\s*m8,\s*ta,\s*ma
+**   vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0
+**   vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx512di (int64_t a, int64_t b, int64_t *out)
+{
+  vnx512di v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx512di *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c
new file mode 100644
index 00000000000..23a4ea68b34
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c
@@ -0,0 +1,87 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int32_t vnx1024si __attribute__ ((vector_size (1024 * 4)));
+
+/*
+** f_vnx1024si:
+**   ...
+**   vsetvli\s+[atx][0-9]+,\s*zero,\s*e64,\s*m8,\s*ta,\s*ma
+**   vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+**   vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx1024si (int32_t a, int32_t b, int32_t *out)
+{
+  vnx1024si v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx1024si *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c
new file mode 100644
index 00000000000..37c08a1c328
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c
@@ -0,0 +1,151 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int16_t vnx2048hi __attribute__ ((vector_size (2048 * 2)));
+
+/*
+** f_vnx2048hi:
+**   ...
+**   vsetvli\s+[atx][0-9]+,\s*zero,\s*e32,\s*m8,\s*ta,\s*ma
+**   vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+**   vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx2048hi (int16_t a, int16_t b, int16_t *out)
+{
+  vnx2048hi v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx2048hi *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c
new file mode 100644
index 00000000000..4f8a78b3161
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx16di __attribute__ ((vector_size (16 * 8)));
+
+/*
+** f_vnx16di:
+**   vsetivli\s+zero,\s*16,\s*e64,\s*m8,\s*ta,\s*ma
+**   ...
+**   vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+**   ...
+**   vmv\.s\.x\s+v0,\s*[axt][0-9]+
+**   vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0
+**   vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx16di (int64_t a, int64_t b, int64_t *out)
+{
+  vnx16di v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx16di *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c
new file mode 100644
index 00000000000..f0d14db8fa8
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c
@@ -0,0 +1,25 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+typedef double vnx16df __attribute__ ((vector_size (16 * 8)));
+
+/*
+** f_vnx16df:
+**   vsetivli\s+zero,\s*16,\s*e64,\s*m8,\s*ta,\s*ma
+**   ...
+**   vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+
+**   ...
+**   vmv\.s\.x\s+v0,\s*[axt][0-9]+
+**   vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0
+**   vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx16df (double a, double b, double *out)
+{
+  vnx16df v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx16df *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c
new file mode 100644
index 00000000000..fd986e6b649
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c
@@ -0,0 +1,27 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx16di __attribute__ ((vector_size (16 * 8)));
+
+/*
+** f_vnx16di:
+**   vsetivli\s+zero,\s*16,\s*e64,\s*m1,\s*ta,\s*ma
+**   ...
+**   vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+**   ...
+**   vmv\.s\.x\s+v0,\s*[axt][0-9]+
+**   vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0
+**   vs1r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx16di (int64_t a, int64_t b, int64_t *out)
+{
+  vnx16di v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx16di *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c
new file mode 100644
index 00000000000..753221ffdbf
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c
@@ -0,0 +1,25 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+typedef double vnx16df __attribute__ ((vector_size (16 * 8)));
+
+/*
+** f_vnx16df:
+**   vsetivli\s+zero,\s*16,\s*e64,\s*m1,\s*ta,\s*ma
+**   ...
+**   vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+
+**   ...
+**   vmv\.s\.x\s+v0,\s*[axt][0-9]+
+**   vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0
+**   vs1r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+**   ret
+*/
+__attribute__ ((noipa)) void
+f_vnx16df (double a, double b, double *out)
+{
+  vnx16df v = {
+    a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+  };
+  *(vnx16df *) out = v;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c
new file mode 100644
index 00000000000..9bb21d7ab18
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.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 {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c
new file mode 100644
index 00000000000..e5934ac382c
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-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 (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 {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c
new file mode 100644
index 00000000000..7b30e2b5c75
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.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 {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c
new file mode 100644
index 00000000000..d3efc9aca3d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-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 (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 {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c
new file mode 100644
index 00000000000..a9d1e87965e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.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 {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c
new file mode 100644
index 00000000000..b528c8036b9
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-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 (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 {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c
new file mode 100644
index 00000000000..5c36d86e0cf
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c
@@ -0,0 +1,55 @@
+/* { 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 {vmv\.v\.x\s+v0,\s*[atx][0-9]+} 2 } } */
+/* { dg-final { scan-assembler-times {vmv\.s\.x\s+v0,\s*[atx][0-9]+} 3 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c
new file mode 100644
index 00000000000..1087b60ab29
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.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 {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c
new file mode 100644
index 00000000000..f0d40dfa700
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.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 {vmv1r\.v\s+v0,\s*v[0-9]+} } } */

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-11-21  4:09 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-21  4:09 [gcc(refs/vendors/riscv/heads/gcc-13-with-riscv-opts)] RISC-V: Refine the mask generation for vec_init case 2 Jeff Law

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).