public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] RISC-V: Support trailing vec_init optimization
@ 2023-11-14 11:38 Juzhe-Zhong
  2023-11-15  7:40 ` juzhe.zhong
  2023-11-15  8:58 ` Robin Dapp
  0 siblings, 2 replies; 4+ messages in thread
From: Juzhe-Zhong @ 2023-11-14 11:38 UTC (permalink / raw)
  To: gcc-patches; +Cc: kito.cheng, kito.cheng, jeffreyalaw, rdapp.gcc, Juzhe-Zhong

Add optimization when trailing elements > leading elements.

Consider this following case:

#include <stdint.h>

typedef int64_t v16di __attribute__ ((vector_size (128)));

__attribute__ ((noipa)) void
f_v16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out)
{
  v16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d};
  *(v16di *) out = v;
}

https://godbolt.org/z/vWTjbrWGf

Before this patch:

f_v16di:
        vsetivli        zero,16,e64,m8,ta,ma
        vmv.v.x v8,a0
        vslide1down.vx  v8,v8,a1
        vslide1down.vx  v8,v8,a2
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vse64.v v8,0(a4)
        ret

After this patch:

f_v16di:
	vsetivli	zero,16,e64,m8,ta,ma
	vmv.v.x	v16,a3
	vslide1up.vx	v8,v16,a2
	vslide1up.vx	v16,v8,a1
	vslide1up.vx	v8,v16,a0
	vse64.v	v8,0(a4)
	ret

gcc/ChangeLog:

	* config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): New function.
	(expand_vec_init): Add trailing optimization.

gcc/testsuite/ChangeLog:

	* gcc.target/riscv/rvv/autovec/vls/def.h: Add trailing tests.
	* gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: New test.
	* gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: New test.
	* gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: New test.
	* gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/trailing-1.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/trailing-2.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/trailing-3.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/trailing-4.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/trailing-5.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/trailing-6.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/trailing-7.c: New test.

---
 gcc/config/riscv/riscv-v.cc                   |  52 +-
 .../riscv/rvv/autovec/vls-vlmax/trailing-1.c  |  15 +
 .../riscv/rvv/autovec/vls-vlmax/trailing-2.c  |  15 +
 .../rvv/autovec/vls-vlmax/trailing_run-1.c    |  42 ++
 .../rvv/autovec/vls-vlmax/trailing_run-2.c    |  42 ++
 .../gcc.target/riscv/rvv/autovec/vls/def.h    |   8 +
 .../riscv/rvv/autovec/vls/trailing-1.c        | 652 ++++++++++++++++++
 .../riscv/rvv/autovec/vls/trailing-2.c        | 335 +++++++++
 .../riscv/rvv/autovec/vls/trailing-3.c        | 176 +++++
 .../riscv/rvv/autovec/vls/trailing-4.c        |  96 +++
 .../riscv/rvv/autovec/vls/trailing-5.c        | 335 +++++++++
 .../riscv/rvv/autovec/vls/trailing-6.c        | 176 +++++
 .../riscv/rvv/autovec/vls/trailing-7.c        |  96 +++
 13 files changed, 2036 insertions(+), 4 deletions(-)
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c
 create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c

diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc
index 6e9bb08aee7..030a6db8129 100644
--- a/gcc/config/riscv/riscv-v.cc
+++ b/gcc/config/riscv/riscv-v.cc
@@ -2238,6 +2238,47 @@ expand_vector_init_merge_combine_sequence (rtx target,
   emit_vlmax_insn (icode, MERGE_OP, merge_ops);
 }
 
+/* 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 greater than leading_ndups, 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 leading_ndups = builder.count_dups (0, nelts_reqd - 1, 1);
+  int trailing_ndups = builder.count_dups (nelts_reqd - 1, -1, -1);
+  machine_mode mode = GET_MODE (target);
+
+  if (trailing_ndups > leading_ndups)
+    {
+      rtx dup = expand_vector_broadcast (mode, builder.elt (nelts_reqd - 1));
+      for (int i = nelts_reqd - trailing_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 tmp = gen_reg_rtx (mode);
+	  rtx ops[] = {tmp, dup, builder.elt (i)};
+	  emit_vlmax_insn (icode, BINARY_OP, ops);
+	  /* slide1up need source and dest to be different REG.  */
+	  dup = tmp;
+	}
+
+      emit_move_insn (target, dup);
+      return true;
+    }
+
+  return false;
+}
+
 /* Initialize register TARGET from the elements in PARALLEL rtx VALS.  */
 
 void
@@ -2305,10 +2346,13 @@ expand_vec_init (rtx target, rtx vals)
 	}
     }
 
-  /* Handle common situation by vslide1down. This function can handle any
-     situation of vec_init<mode>. Only the cases that are not optimized above
-     will fall through here.  */
-  expand_vector_init_insert_elems (target, v, nelts);
+  /* Optimize trailing same elements sequence:
+      v = {y, y2, y3, y4, y5, x, x, x, x, x, x, x, x, x, x, x};  */
+  if (!expand_vector_init_trailing_same_elem (target, v, nelts))
+    /* Handle common situation by vslide1down. This function can handle any
+       situation of vec_init<mode>. Only the cases that are not optimized above
+       will fall through here.  */
+    expand_vector_init_insert_elems (target, v, nelts);
 }
 
 /* Get insn code for corresponding comparison.  */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c
new file mode 100644
index 00000000000..b48252a5dc5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d --param=riscv-autovec-lmul=m8 --param=riscv-autovec-preference=fixed-vlmax" } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t v16di __attribute__ ((vector_size (128)));
+
+__attribute__ ((noipa)) void
+f_v16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out)
+{
+  v16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d};
+  *(v16di *) out = v;
+}
+
+/* { 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/trailing-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c
new file mode 100644
index 00000000000..46d2777d757
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d --param=riscv-autovec-lmul=m8 --param=riscv-autovec-preference=fixed-vlmax" } */
+
+#include <stdint-gcc.h>
+
+typedef double v16df __attribute__ ((vector_size (128)));
+
+__attribute__ ((noipa)) void
+f_v16df (double a, double b, double c, double d, double *out)
+{
+  v16df v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d};
+  *(v16df *) out = v;
+}
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c
new file mode 100644
index 00000000000..469c30d42d1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c
@@ -0,0 +1,42 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "trailing-1.c"
+
+int
+main ()
+{
+  int64_t a = -1789089;
+  int64_t b = 8916156;
+  int64_t c = -7789;
+  int64_t d = 9156;
+
+  int64_t v_v16di[sizeof (v16di) / sizeof (int64_t)];
+  f_v16di (a, b, c, d, v_v16di);
+
+  for (int i = 0; i < sizeof (v16di) / sizeof (int64_t); i++)
+    {
+      if (i == 0)
+	{
+	  if (v_v16di[i] != a)
+	    __builtin_abort ();
+	}
+      else if (i == 1)
+	{
+	  if (v_v16di[i] != b)
+	    __builtin_abort ();
+	}
+      else if (i == 2)
+	{
+	  if (v_v16di[i] != c)
+	    __builtin_abort ();
+	}
+      else
+	{
+	  if (v_v16di[i] != d)
+	    __builtin_abort ();
+	}
+    }
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c
new file mode 100644
index 00000000000..cbb0b152459
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c
@@ -0,0 +1,42 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "trailing-2.c"
+
+int
+main ()
+{
+  double a = -1789089.4324;
+  double b = 8916156.82343;
+  double c = -7789.3423;
+  double d = 9156.955;
+
+  double v_v16df[sizeof (v16df) / sizeof (double)];
+  f_v16df (a, b, c, d, v_v16df);
+
+  for (int i = 0; i < sizeof (v16df) / sizeof (double); i++)
+    {
+      if (i == 0)
+	{
+	  if (v_v16df[i] != a)
+	    __builtin_abort ();
+	}
+      else if (i == 1)
+	{
+	  if (v_v16df[i] != b)
+	    __builtin_abort ();
+	}
+      else if (i == 2)
+	{
+	  if (v_v16df[i] != c)
+	    __builtin_abort ();
+	}
+      else
+	{
+	  if (v_v16df[i] != d)
+	    __builtin_abort ();
+	}
+    }
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
index 9cc3656e710..cb7a1c97ded 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
@@ -852,3 +852,11 @@ typedef double v512df __attribute__ ((vector_size (4096)));
     v##NUM##TYPE1 v = {__VA_ARGS__};                                           \
     *(v##NUM##TYPE1 *) out = v;                                                \
   }
+
+#define DEF_TRAILING(TYPE1, TYPE2, NUM, ...)                                   \
+  void init_##TYPE1##_##TYPE2##_##NUM (TYPE2 var0, TYPE2 var1, TYPE2 var2,     \
+				       TYPE2 var3, TYPE2 *__restrict out)      \
+  {                                                                            \
+    TYPE1 v = {__VA_ARGS__};                                                   \
+    *(TYPE1 *) out = v;                                                        \
+  }
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c
new file mode 100644
index 00000000000..ed15a12ecfb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c
@@ -0,0 +1,652 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8qi, int8_t, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16qi, int8_t, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32qi, int8_t, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3)
+DEF_TRAILING (v64qi, int8_t, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3)
+DEF_TRAILING (v128qi, int8_t, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256qi, int8_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512qi, int8_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024qi, int8_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+DEF_TRAILING (
+  v2048qi, int8_t, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v4096qi, int8_t, 4096, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx} 30 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c
new file mode 100644
index 00000000000..5deb097bf54
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c
@@ -0,0 +1,335 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8hi, int16_t, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16hi, int16_t, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32hi, int16_t, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3)
+DEF_TRAILING (v64hi, int16_t, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3)
+DEF_TRAILING (v128hi, int16_t, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256hi, int16_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512hi, int16_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024hi, int16_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+DEF_TRAILING (
+  v2048hi, int16_t, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx} 27 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c
new file mode 100644
index 00000000000..e503d6c4dff
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c
@@ -0,0 +1,176 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8si, int32_t, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16si, int32_t, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32si, int32_t, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3)
+DEF_TRAILING (v64si, int32_t, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3)
+DEF_TRAILING (v128si, int32_t, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256si, int32_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512si, int32_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024si, int32_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx} 24 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c
new file mode 100644
index 00000000000..c7945643d57
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c
@@ -0,0 +1,96 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8di, int64_t, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16di, int64_t, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32di, int64_t, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3)
+DEF_TRAILING (v64di, int64_t, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3)
+DEF_TRAILING (v128di, int64_t, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256di, int64_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512di, int64_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx} 21 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c
new file mode 100644
index 00000000000..43e17922950
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c
@@ -0,0 +1,335 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8hf, _Float16, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16hf, _Float16, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32hf, _Float16, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3)
+DEF_TRAILING (v64hf, _Float16, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3)
+DEF_TRAILING (v128hf, _Float16, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256hf, _Float16, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512hf, _Float16, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024hf, _Float16, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+DEF_TRAILING (
+  v2048hf, _Float16, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf} 27 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c
new file mode 100644
index 00000000000..bb91c6a1855
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c
@@ -0,0 +1,176 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8sf, float, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16sf, float, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32sf, float, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3)
+DEF_TRAILING (v64sf, float, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3)
+DEF_TRAILING (v128sf, float, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256sf, float, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512sf, float, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024sf, float, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf} 24 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c
new file mode 100644
index 00000000000..b12f08d280e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c
@@ -0,0 +1,96 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8df, double, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16df, double, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32df, double, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3)
+DEF_TRAILING (v64df, double, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3)
+DEF_TRAILING (v128df, double, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+	    var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256df, double, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512df, double, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf} 21 } } */
-- 
2.36.3


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

* Re: [PATCH] RISC-V: Support trailing vec_init optimization
  2023-11-14 11:38 [PATCH] RISC-V: Support trailing vec_init optimization Juzhe-Zhong
@ 2023-11-15  7:40 ` juzhe.zhong
  2023-11-15  8:58 ` Robin Dapp
  1 sibling, 0 replies; 4+ messages in thread
From: juzhe.zhong @ 2023-11-15  7:40 UTC (permalink / raw)
  To: 钟居哲, gcc-patches
  Cc: kito.cheng, Kito.cheng, jeffreyalaw, Robin Dapp

[-- Attachment #1: Type: text/plain, Size: 159918 bytes --]

Any objections ?



juzhe.zhong@rivai.ai
 
From: Juzhe-Zhong
Date: 2023-11-14 19:38
To: gcc-patches
CC: kito.cheng; kito.cheng; jeffreyalaw; rdapp.gcc; Juzhe-Zhong
Subject: [PATCH] RISC-V: Support trailing vec_init optimization
Add optimization when trailing elements > leading elements.
 
Consider this following case:
 
#include <stdint.h>
 
typedef int64_t v16di __attribute__ ((vector_size (128)));
 
__attribute__ ((noipa)) void
f_v16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out)
{
  v16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d};
  *(v16di *) out = v;
}
 
https://godbolt.org/z/vWTjbrWGf
 
Before this patch:
 
f_v16di:
        vsetivli        zero,16,e64,m8,ta,ma
        vmv.v.x v8,a0
        vslide1down.vx  v8,v8,a1
        vslide1down.vx  v8,v8,a2
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vslide1down.vx  v8,v8,a3
        vse64.v v8,0(a4)
        ret
 
After this patch:
 
f_v16di:
vsetivli zero,16,e64,m8,ta,ma
vmv.v.x v16,a3
vslide1up.vx v8,v16,a2
vslide1up.vx v16,v8,a1
vslide1up.vx v8,v16,a0
vse64.v v8,0(a4)
ret
 
gcc/ChangeLog:
 
* config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): New function.
(expand_vec_init): Add trailing optimization.
 
gcc/testsuite/ChangeLog:
 
* gcc.target/riscv/rvv/autovec/vls/def.h: Add trailing tests.
* gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls/trailing-1.c: New test.
* gcc.target/riscv/rvv/autovec/vls/trailing-2.c: New test.
* gcc.target/riscv/rvv/autovec/vls/trailing-3.c: New test.
* gcc.target/riscv/rvv/autovec/vls/trailing-4.c: New test.
* gcc.target/riscv/rvv/autovec/vls/trailing-5.c: New test.
* gcc.target/riscv/rvv/autovec/vls/trailing-6.c: New test.
* gcc.target/riscv/rvv/autovec/vls/trailing-7.c: New test.
 
---
gcc/config/riscv/riscv-v.cc                   |  52 +-
.../riscv/rvv/autovec/vls-vlmax/trailing-1.c  |  15 +
.../riscv/rvv/autovec/vls-vlmax/trailing-2.c  |  15 +
.../rvv/autovec/vls-vlmax/trailing_run-1.c    |  42 ++
.../rvv/autovec/vls-vlmax/trailing_run-2.c    |  42 ++
.../gcc.target/riscv/rvv/autovec/vls/def.h    |   8 +
.../riscv/rvv/autovec/vls/trailing-1.c        | 652 ++++++++++++++++++
.../riscv/rvv/autovec/vls/trailing-2.c        | 335 +++++++++
.../riscv/rvv/autovec/vls/trailing-3.c        | 176 +++++
.../riscv/rvv/autovec/vls/trailing-4.c        |  96 +++
.../riscv/rvv/autovec/vls/trailing-5.c        | 335 +++++++++
.../riscv/rvv/autovec/vls/trailing-6.c        | 176 +++++
.../riscv/rvv/autovec/vls/trailing-7.c        |  96 +++
13 files changed, 2036 insertions(+), 4 deletions(-)
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c
create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c
 
diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc
index 6e9bb08aee7..030a6db8129 100644
--- a/gcc/config/riscv/riscv-v.cc
+++ b/gcc/config/riscv/riscv-v.cc
@@ -2238,6 +2238,47 @@ expand_vector_init_merge_combine_sequence (rtx target,
   emit_vlmax_insn (icode, MERGE_OP, merge_ops);
}
+/* 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 greater than leading_ndups, 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 leading_ndups = builder.count_dups (0, nelts_reqd - 1, 1);
+  int trailing_ndups = builder.count_dups (nelts_reqd - 1, -1, -1);
+  machine_mode mode = GET_MODE (target);
+
+  if (trailing_ndups > leading_ndups)
+    {
+      rtx dup = expand_vector_broadcast (mode, builder.elt (nelts_reqd - 1));
+      for (int i = nelts_reqd - trailing_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 tmp = gen_reg_rtx (mode);
+   rtx ops[] = {tmp, dup, builder.elt (i)};
+   emit_vlmax_insn (icode, BINARY_OP, ops);
+   /* slide1up need source and dest to be different REG.  */
+   dup = tmp;
+ }
+
+      emit_move_insn (target, dup);
+      return true;
+    }
+
+  return false;
+}
+
/* Initialize register TARGET from the elements in PARALLEL rtx VALS.  */
void
@@ -2305,10 +2346,13 @@ expand_vec_init (rtx target, rtx vals)
}
     }
-  /* Handle common situation by vslide1down. This function can handle any
-     situation of vec_init<mode>. Only the cases that are not optimized above
-     will fall through here.  */
-  expand_vector_init_insert_elems (target, v, nelts);
+  /* Optimize trailing same elements sequence:
+      v = {y, y2, y3, y4, y5, x, x, x, x, x, x, x, x, x, x, x};  */
+  if (!expand_vector_init_trailing_same_elem (target, v, nelts))
+    /* Handle common situation by vslide1down. This function can handle any
+       situation of vec_init<mode>. Only the cases that are not optimized above
+       will fall through here.  */
+    expand_vector_init_insert_elems (target, v, nelts);
}
/* Get insn code for corresponding comparison.  */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c
new file mode 100644
index 00000000000..b48252a5dc5
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d --param=riscv-autovec-lmul=m8 --param=riscv-autovec-preference=fixed-vlmax" } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t v16di __attribute__ ((vector_size (128)));
+
+__attribute__ ((noipa)) void
+f_v16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out)
+{
+  v16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d};
+  *(v16di *) out = v;
+}
+
+/* { 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/trailing-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c
new file mode 100644
index 00000000000..46d2777d757
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c
@@ -0,0 +1,15 @@
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d --param=riscv-autovec-lmul=m8 --param=riscv-autovec-preference=fixed-vlmax" } */
+
+#include <stdint-gcc.h>
+
+typedef double v16df __attribute__ ((vector_size (128)));
+
+__attribute__ ((noipa)) void
+f_v16df (double a, double b, double c, double d, double *out)
+{
+  v16df v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d};
+  *(v16df *) out = v;
+}
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c
new file mode 100644
index 00000000000..469c30d42d1
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c
@@ -0,0 +1,42 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "trailing-1.c"
+
+int
+main ()
+{
+  int64_t a = -1789089;
+  int64_t b = 8916156;
+  int64_t c = -7789;
+  int64_t d = 9156;
+
+  int64_t v_v16di[sizeof (v16di) / sizeof (int64_t)];
+  f_v16di (a, b, c, d, v_v16di);
+
+  for (int i = 0; i < sizeof (v16di) / sizeof (int64_t); i++)
+    {
+      if (i == 0)
+ {
+   if (v_v16di[i] != a)
+     __builtin_abort ();
+ }
+      else if (i == 1)
+ {
+   if (v_v16di[i] != b)
+     __builtin_abort ();
+ }
+      else if (i == 2)
+ {
+   if (v_v16di[i] != c)
+     __builtin_abort ();
+ }
+      else
+ {
+   if (v_v16di[i] != d)
+     __builtin_abort ();
+ }
+    }
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c
new file mode 100644
index 00000000000..cbb0b152459
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c
@@ -0,0 +1,42 @@
+/* { dg-do run { target { riscv_v } } } */
+/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "trailing-2.c"
+
+int
+main ()
+{
+  double a = -1789089.4324;
+  double b = 8916156.82343;
+  double c = -7789.3423;
+  double d = 9156.955;
+
+  double v_v16df[sizeof (v16df) / sizeof (double)];
+  f_v16df (a, b, c, d, v_v16df);
+
+  for (int i = 0; i < sizeof (v16df) / sizeof (double); i++)
+    {
+      if (i == 0)
+ {
+   if (v_v16df[i] != a)
+     __builtin_abort ();
+ }
+      else if (i == 1)
+ {
+   if (v_v16df[i] != b)
+     __builtin_abort ();
+ }
+      else if (i == 2)
+ {
+   if (v_v16df[i] != c)
+     __builtin_abort ();
+ }
+      else
+ {
+   if (v_v16df[i] != d)
+     __builtin_abort ();
+ }
+    }
+
+  return 0;
+}
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
index 9cc3656e710..cb7a1c97ded 100644
--- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h
@@ -852,3 +852,11 @@ typedef double v512df __attribute__ ((vector_size (4096)));
     v##NUM##TYPE1 v = {__VA_ARGS__};                                           \
     *(v##NUM##TYPE1 *) out = v;                                                \
   }
+
+#define DEF_TRAILING(TYPE1, TYPE2, NUM, ...)                                   \
+  void init_##TYPE1##_##TYPE2##_##NUM (TYPE2 var0, TYPE2 var1, TYPE2 var2,     \
+        TYPE2 var3, TYPE2 *__restrict out)      \
+  {                                                                            \
+    TYPE1 v = {__VA_ARGS__};                                                   \
+    *(TYPE1 *) out = v;                                                        \
+  }
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c
new file mode 100644
index 00000000000..ed15a12ecfb
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c
@@ -0,0 +1,652 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8qi, int8_t, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16qi, int8_t, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32qi, int8_t, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3)
+DEF_TRAILING (v64qi, int8_t, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3)
+DEF_TRAILING (v128qi, int8_t, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256qi, int8_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512qi, int8_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024qi, int8_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+DEF_TRAILING (
+  v2048qi, int8_t, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v4096qi, int8_t, 4096, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx} 30 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c
new file mode 100644
index 00000000000..5deb097bf54
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c
@@ -0,0 +1,335 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8hi, int16_t, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16hi, int16_t, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32hi, int16_t, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3)
+DEF_TRAILING (v64hi, int16_t, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3)
+DEF_TRAILING (v128hi, int16_t, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256hi, int16_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512hi, int16_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024hi, int16_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+DEF_TRAILING (
+  v2048hi, int16_t, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx} 27 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c
new file mode 100644
index 00000000000..e503d6c4dff
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c
@@ -0,0 +1,176 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8si, int32_t, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16si, int32_t, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32si, int32_t, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3)
+DEF_TRAILING (v64si, int32_t, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3)
+DEF_TRAILING (v128si, int32_t, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256si, int32_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512si, int32_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024si, int32_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx} 24 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c
new file mode 100644
index 00000000000..c7945643d57
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c
@@ -0,0 +1,96 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8di, int64_t, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16di, int64_t, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32di, int64_t, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3)
+DEF_TRAILING (v64di, int64_t, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3)
+DEF_TRAILING (v128di, int64_t, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256di, int64_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512di, int64_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+
+
+/* { dg-final { scan-assembler-times {vslide1up\.vx} 21 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c
new file mode 100644
index 00000000000..43e17922950
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c
@@ -0,0 +1,335 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8hf, _Float16, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16hf, _Float16, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32hf, _Float16, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3)
+DEF_TRAILING (v64hf, _Float16, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3)
+DEF_TRAILING (v128hf, _Float16, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256hf, _Float16, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512hf, _Float16, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024hf, _Float16, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+DEF_TRAILING (
+  v2048hf, _Float16, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf} 27 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c
new file mode 100644
index 00000000000..bb91c6a1855
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c
@@ -0,0 +1,176 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8sf, float, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16sf, float, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32sf, float, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3)
+DEF_TRAILING (v64sf, float, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3)
+DEF_TRAILING (v128sf, float, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256sf, float, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512sf, float, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v1024sf, float, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3)
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf} 24 } } */
diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c
new file mode 100644
index 00000000000..b12f08d280e
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c
@@ -0,0 +1,96 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_TRAILING (v8df, double, 8, var0, var1, var2, var3, var3, var3, var3, var3)
+DEF_TRAILING (v16df, double, 16, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (v32df, double, 32, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3)
+DEF_TRAILING (v64df, double, 64, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3)
+DEF_TRAILING (v128df, double, 128, var0, var1, var2, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+     var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v256df, double, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3)
+DEF_TRAILING (
+  v512df, double, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3,
+  var3, var3, var3, var3, var3, var3, var3, var3, var3)
+
+
+/* { dg-final { scan-assembler-times {vfslide1up\.vf} 21 } } */
-- 
2.36.3
 

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

* Re: [PATCH] RISC-V: Support trailing vec_init optimization
  2023-11-14 11:38 [PATCH] RISC-V: Support trailing vec_init optimization Juzhe-Zhong
  2023-11-15  7:40 ` juzhe.zhong
@ 2023-11-15  8:58 ` Robin Dapp
  2023-11-15 10:00   ` Li, Pan2
  1 sibling, 1 reply; 4+ messages in thread
From: Robin Dapp @ 2023-11-15  8:58 UTC (permalink / raw)
  To: Juzhe-Zhong, gcc-patches; +Cc: rdapp.gcc, kito.cheng, kito.cheng, jeffreyalaw

Hi Juzhe,

thanks, LGTM as it is just a refinement of what we already have.

Regards
 Robin

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

* RE: [PATCH] RISC-V: Support trailing vec_init optimization
  2023-11-15  8:58 ` Robin Dapp
@ 2023-11-15 10:00   ` Li, Pan2
  0 siblings, 0 replies; 4+ messages in thread
From: Li, Pan2 @ 2023-11-15 10:00 UTC (permalink / raw)
  To: Robin Dapp, Juzhe-Zhong, gcc-patches; +Cc: kito.cheng, kito.cheng, jeffreyalaw

Committed, thanks Robin..

Pan

-----Original Message-----
From: Robin Dapp <rdapp.gcc@gmail.com> 
Sent: Wednesday, November 15, 2023 4:59 PM
To: Juzhe-Zhong <juzhe.zhong@rivai.ai>; gcc-patches@gcc.gnu.org
Cc: rdapp.gcc@gmail.com; kito.cheng@gmail.com; kito.cheng@sifive.com; jeffreyalaw@gmail.com
Subject: Re: [PATCH] RISC-V: Support trailing vec_init optimization

Hi Juzhe,

thanks, LGTM as it is just a refinement of what we already have.

Regards
 Robin

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

end of thread, other threads:[~2023-11-15 10:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-11-14 11:38 [PATCH] RISC-V: Support trailing vec_init optimization Juzhe-Zhong
2023-11-15  7:40 ` juzhe.zhong
2023-11-15  8:58 ` Robin Dapp
2023-11-15 10:00   ` Li, Pan2

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