]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
RISC-V: Support vec_init for trailing same element
authorPan Li <pan2.li@intel.com>
Fri, 10 Nov 2023 02:57:00 +0000 (10:57 +0800)
committerPan Li <pan2.li@intel.com>
Fri, 10 Nov 2023 06:35:24 +0000 (14:35 +0800)
This patch would like to support the vec_init for the trailing same
element in the array. For example as below

typedef double vnx16df __attribute__ ((vector_size (128)));

__attribute__ ((noipa)) void
f_vnx16df (double a, double b, double *out)
{
  vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b};
  *(vnx16df *) out = v;
}

Before this patch:
f_vnx16df:
  vsetivli        zero,16,e64,m8,ta,ma
  vfmv.v.f        v8,fa0
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vfslide1down.vf v8,v8,fa1
  vs8r.v  v8,0(a0)
  ret

After this patch:
f_vnx16df:
  vsetivli      zero,16,e64,m8,ta,ma
  vfmv.v.f      v16,fa1
  vfslide1up.vf v8,v16,fa0
  vmv8r.v       v16,v8
  vfslide1up.vf v8,v16,fa0
  vmv8r.v       v16,v8
  vfslide1up.vf v8,v16,fa0
  vs8r.v        v8,0(a0)
  ret

gcc/ChangeLog:

* config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem):
New fun impl to expand the insn when trailing same elements.
(expand_vec_init): Try trailing same elements when vec_init.

gcc/testsuite/ChangeLog:

* gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c: New test.
* gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c: New test.

Signed-off-by: Pan Li <pan2.li@intel.com>
18 files changed:
gcc/config/riscv/riscv-v.cc
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c [new file with mode: 0644]
gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c [new file with mode: 0644]

index c32cd8abe6cfe414c979ac2d4cf96b83803d58c9..c6c54c390762b2a500d08a78fbb7170b728792ec 100644 (file)
@@ -2126,6 +2126,44 @@ expand_vector_init_merge_repeating_sequence (rtx target,
     }
 }
 
+/* Subroutine of expand_vec_init to handle case
+   when all trailing elements of builder are same.
+   This works as follows:
+   (a) Use expand_insn interface to broadcast last vector element in TARGET.
+   (b) Insert remaining elements in TARGET using insr.
+
+   ??? The heuristic used is to do above if number of same trailing elements
+   is at least 3/4 of total number of elements, loosely based on
+   heuristic from mostly_zeros_p.  May need fine-tuning.  */
+
+static bool
+expand_vector_init_trailing_same_elem (rtx target,
+                                      const rtx_vector_builder &builder,
+                                      int nelts_reqd)
+{
+  int ndups = builder.count_dups (nelts_reqd - 1, -1, -1);
+  machine_mode mode = GET_MODE (target);
+
+  if (ndups >= (3 * nelts_reqd) / 4)
+    {
+      rtx dup = expand_vector_broadcast (mode, builder.elt (nelts_reqd - 1));
+      emit_move_insn (target, dup);
+
+      for (int i = nelts_reqd - ndups - 1; i >= 0; i--)
+       {
+         unsigned int unspec
+           = FLOAT_MODE_P (mode) ? UNSPEC_VFSLIDE1UP : UNSPEC_VSLIDE1UP;
+         insn_code icode = code_for_pred_slide (unspec, mode);
+         rtx ops[] = {target, target, builder.elt (i)};
+         emit_vlmax_insn (icode, BINARY_OP, ops);
+       }
+
+      return true;
+    }
+
+  return false;
+}
+
 /* Initialize register TARGET from the elements in PARALLEL rtx VALS.  */
 
 void
@@ -2162,6 +2200,11 @@ expand_vec_init (rtx target, rtx vals)
          return;
        }
 
+      /* Case 4: Optimize trailing same elements sequence:
+        v = {y, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x};  */
+      if (expand_vector_init_trailing_same_elem (target, v, nelts))
+       return;
+
       /* TODO: We will support more Initialization of vector in the future.  */
     }
 
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c
new file mode 100644 (file)
index 0000000..eca3679
--- /dev/null
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d" } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx16di __attribute__ ((vector_size (1024)));
+
+__attribute__ ((noipa)) void
+f_vnx16di (int64_t a, int64_t b, int64_t *out)
+{
+  vnx16di v = {
+    a, a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b,
+    b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b,
+    b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b,
+    b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b,
+  };
+  *(vnx16di *) out = v;
+}
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x\s+v[0-9]+,\s*[a-x0-9]+} 1 } } */
+/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c
new file mode 100644 (file)
index 0000000..b4174b7
--- /dev/null
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */
+
+#include <stdint-gcc.h>
+
+typedef double vnx8df __attribute__ ((vector_size (64)));
+typedef double vnx16df __attribute__ ((vector_size (128)));
+
+__attribute__ ((noipa)) void
+f_vnx8df (double a, double b, double *out)
+{
+  vnx8df v = {a, b, b, b, b, b, b, b};
+  *(vnx8df *) out = v;
+}
+
+__attribute__ ((noipa)) void
+f_vnx16df (double a, double b, double *out)
+{
+  vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b};
+  *(vnx16df *) out = v;
+}
+
+/* { dg-final { scan-assembler-times {vfmv\.v\.f\tv[0-9]+,\s*[a-x0-9]+} 2 } } */
+/* { dg-final { scan-assembler-times {vfslide1up\.vf\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 4 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c
new file mode 100644 (file)
index 0000000..4b7d754
--- /dev/null
@@ -0,0 +1,24 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx8di __attribute__ ((vector_size (64)));
+typedef int64_t vnx16di __attribute__ ((vector_size (128)));
+
+__attribute__ ((noipa)) void
+f_vnx8di (int64_t a, int64_t b, int64_t *out)
+{
+  vnx8di v = {a, a, b, b, b, b, b, b};
+  *(vnx8di *) out = v;
+}
+
+__attribute__ ((noipa)) void
+f_vnx16di (int64_t a, int64_t b, int64_t *out)
+{
+  vnx16di v = {a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b};
+  *(vnx16di *) out = v;
+}
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 2 } } */
+/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c
new file mode 100644 (file)
index 0000000..6fefead
--- /dev/null
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx8di __attribute__ ((vector_size (64)));
+
+__attribute__ ((noipa)) void
+f_vnx8di (int64_t a, int64_t b, int64_t c, int64_t *out)
+{
+  vnx8di v = {a, b, c, c, c, c, c, c};
+  *(vnx8di *) out = v;
+}
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */
+/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c
new file mode 100644 (file)
index 0000000..0e2aa3c
--- /dev/null
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx16di __attribute__ ((vector_size (128)));
+
+__attribute__ ((noipa)) void
+f_vnx16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out)
+{
+  vnx16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d,};
+  *(vnx16di *) out = v;
+}
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */
+/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c
new file mode 100644 (file)
index 0000000..467f4a6
--- /dev/null
@@ -0,0 +1,47 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */
+
+#include "init-same-tail-2.c"
+
+int
+main ()
+{
+  double a = -1789089.23423;
+  double b = -8916156.45644;
+
+  double v_vnx8df[sizeof (vnx8df) / sizeof (double)];
+  f_vnx8df (a, b, v_vnx8df);
+
+  for (int i = 0; i < sizeof (vnx8df) / sizeof (double); i++)
+    {
+      if (i == 0)
+       {
+         if (v_vnx8df[i] != a)
+           __builtin_abort ();
+       }
+      else
+       {
+         if (v_vnx8df[i] != b)
+           __builtin_abort ();
+       }
+    }
+
+  double v_vnx16df[sizeof (vnx16df) / sizeof (double)];
+  f_vnx16df (a, b, v_vnx16df);
+
+  for (int i = 0; i < sizeof (vnx16df) / sizeof (double); i++)
+    {
+      if (i < 3)
+       {
+         if (v_vnx16df[i] != a)
+           __builtin_abort ();
+       }
+      else
+       {
+         if (v_vnx16df[i] != b)
+           __builtin_abort ();
+       }
+    }
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c
new file mode 100644 (file)
index 0000000..26354de
--- /dev/null
@@ -0,0 +1,48 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */
+
+#include "init-same-tail-3.c"
+
+int
+main ()
+{
+  int64_t a = -178908923423;
+  int64_t b = -891615645644;
+  int64_t v_vnx8di[sizeof (vnx8di) / sizeof (int64_t)];
+
+  f_vnx8di (a, b, v_vnx8di);
+
+  for (int i = 0; i < sizeof (vnx8di) / sizeof (int64_t); i++)
+    {
+      if (i < 2)
+       {
+         if (v_vnx8di[i] != a)
+           __builtin_abort ();
+       }
+      else
+       {
+         if (v_vnx8di[i] != b)
+           __builtin_abort ();
+       }
+    }
+
+  int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)];
+
+  f_vnx16di (a, b, v_vnx16di);
+
+  for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++)
+    {
+      if (i == 0)
+       {
+         if (v_vnx16di[i] != a)
+           __builtin_abort ();
+       }
+      else
+       {
+         if (v_vnx16di[i] != b)
+           __builtin_abort ();
+       }
+    }
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c
new file mode 100644 (file)
index 0000000..48e4e56
--- /dev/null
@@ -0,0 +1,42 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */
+
+#include "init-same-tail-5.c"
+
+int
+main ()
+{
+  int64_t a = -178908923423;
+  int64_t b = -891615645644;
+  int64_t c = 78908923423;
+  int64_t d = 81615645644;
+  int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)];
+
+  f_vnx16di (a, b, c, d, v_vnx16di);
+
+  for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++)
+    {
+      if (i == 0)
+       {
+         if (v_vnx16di[i] != a)
+           __builtin_abort ();
+       }
+      else if (i == 1)
+       {
+         if (v_vnx16di[i] != b)
+           __builtin_abort ();
+       }
+      else if (i == 2)
+       {
+         if (v_vnx16di[i] != c)
+           __builtin_abort ();
+       }
+      else
+       {
+         if (v_vnx16di[i] != d)
+           __builtin_abort ();
+       }
+    }
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c
new file mode 100644 (file)
index 0000000..09a9838
--- /dev/null
@@ -0,0 +1,653 @@
+/* { 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, var1, var1)
+DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1)
+DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256qi, int8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v512qi, int8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v1024qi, int8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1)
+DEF_REPEAT (
+  v2048qi, int8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v4096qi, int8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c
new file mode 100644 (file)
index 0000000..519d310
--- /dev/null
@@ -0,0 +1,653 @@
+/* { 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, var1, var1)
+DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1)
+DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256uqi, uint8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v512uqi, uint8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v1024uqi, uint8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1)
+DEF_REPEAT (
+  v2048uqi, uint8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v4096uqi, uint8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c
new file mode 100644 (file)
index 0000000..185050f
--- /dev/null
@@ -0,0 +1,336 @@
+/* { 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, var1, var1)
+DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1)
+DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256hi, int16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v512hi, int16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v1024hi, int16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1)
+DEF_REPEAT (
+  v2048hi, int16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c
new file mode 100644 (file)
index 0000000..8cac5d9
--- /dev/null
@@ -0,0 +1,336 @@
+/* { 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, var1, var1)
+DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1)
+DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256uhi, uint16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v512uhi, uint16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v1024uhi, uint16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1)
+DEF_REPEAT (
+  v2048uhi, uint16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c
new file mode 100644 (file)
index 0000000..a79a432
--- /dev/null
@@ -0,0 +1,177 @@
+/* { 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, var1, var1)
+DEF_REPEAT (v8si, int32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v16si, int32_t, 16, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32si, int32_t, 32, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v64si, int32_t, 64, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1)
+DEF_REPEAT (v128si, int32_t, 128, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256si, int32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v512si, int32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v1024si, int32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c
new file mode 100644 (file)
index 0000000..2bea83d
--- /dev/null
@@ -0,0 +1,177 @@
+/* { 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, var1, var1)
+DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1)
+DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256usi, uint32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v512usi, uint32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v1024usi, uint32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c
new file mode 100644 (file)
index 0000000..818fbbb
--- /dev/null
@@ -0,0 +1,53 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v16di, int64_t, 16, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32di, int64_t, 32, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v64di, int64_t, 64, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1)
+DEF_REPEAT (v128di, int64_t, 128, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256di, int64_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 5 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c
new file mode 100644 (file)
index 0000000..78f438b
--- /dev/null
@@ -0,0 +1,336 @@
+/* { 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, var1, var1)
+DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1)
+DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256hf, _Float16, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v512hf, _Float16, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v1024hf, _Float16, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1)
+DEF_REPEAT (
+  v2048hf, _Float16, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 10 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c
new file mode 100644 (file)
index 0000000..dd3d933
--- /dev/null
@@ -0,0 +1,177 @@
+/* { 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, var1, var1)
+DEF_REPEAT (v8sf, float, 8, var0, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v16sf, float, 16, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (v32sf, float, 32, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1)
+DEF_REPEAT (v64sf, float, 64, var0, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1)
+DEF_REPEAT (v128sf, float, 128, var0, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+           var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v256sf, float, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v512sf, float, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1)
+DEF_REPEAT (
+  v1024sf, float, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
+  var1)
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 9 } } */