Message ID | 20231110062237.3267408-1-pan2.li@intel.com |
---|---|
State | New |
Headers | show |
Series | [v1] RISC-V: Support vec_init for trailing same element | expand |
Committed, thanks Juzhe.
Pan
From: juzhe.zhong <juzhe.zhong@rivai.ai>
Sent: Friday, November 10, 2023 2:32 PM
To: Li, Pan2 <pan2.li@intel.com>
Cc: gcc-patches@gcc.gnu.org; Li, Pan2 <pan2.li@intel.com>; Wang, Yanzhang <yanzhang.wang@intel.com>; kito.cheng@gmail.com
Subject: Re: [PATCH v1] RISC-V: Support vec_init for trailing same element
lgtm
---- Replied Message ----
From
pan2.li@intel.com<pan2.li@intel.com><mailto:pan2.li@intel.com>
Date
11/10/2023 14:22
To
gcc-patches@gcc.gnu.org<gcc-patches@gcc.gnu.org><mailto:gcc-patches@gcc.gnu.org>
Cc
juzhe.zhong@rivai.ai<juzhe.zhong@rivai.ai><mailto:juzhe.zhong@rivai.ai>,
pan2.li@intel.com<pan2.li@intel.com><mailto:pan2.li@intel.com>,
yanzhang.wang@intel.com<yanzhang.wang@intel.com><mailto:yanzhang.wang@intel.com>,
kito.cheng@gmail.com<kito.cheng@gmail.com><mailto:kito.cheng@gmail.com>
Subject
[PATCH v1] RISC-V: Support vec_init for trailing same element
On Fri, Nov 10, 2023 at 7:23 AM <pan2.li@intel.com> wrote: > > From: Pan Li <pan2.li@intel.com> > > This patch would like to support the vec_init for the trailing same > element in the array. For example as below > > typedef double vnx16df __attribute__ ((vector_size (128))); > > __attribute__ ((noipa)) void > f_vnx16df (double a, double b, double *out) > { > vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b}; > *(vnx16df *) out = v; > } I wonder if for those cases two splat and a blend would be most efficient? > Before this patch: > f_vnx16df: > vsetivli zero,16,e64,m8,ta,ma > vfmv.v.f v8,fa0 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vs8r.v v8,0(a0) > ret > > After this patch: > f_vnx16df: > vsetivli zero,16,e64,m8,ta,ma > vfmv.v.f v16,fa1 > vfslide1up.vf v8,v16,fa0 > vmv8r.v v16,v8 > vfslide1up.vf v8,v16,fa0 > vmv8r.v v16,v8 > vfslide1up.vf v8,v16,fa0 > vs8r.v v8,0(a0) > ret > > gcc/ChangeLog: > > * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): > New fun impl to expand the insn when trailing same elements. > (expand_vec_init): Try trailing same elements when vec_init. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c: New test. > > Signed-off-by: Pan Li <pan2.li@intel.com> > --- > gcc/config/riscv/riscv-v.cc | 43 ++ > .../rvv/autovec/vls-vlmax/init-same-tail-1.c | 21 + > .../rvv/autovec/vls-vlmax/init-same-tail-2.c | 24 + > .../rvv/autovec/vls-vlmax/init-same-tail-3.c | 24 + > .../rvv/autovec/vls-vlmax/init-same-tail-4.c | 16 + > .../rvv/autovec/vls-vlmax/init-same-tail-5.c | 16 + > .../autovec/vls-vlmax/init-same-tail-run-1.c | 47 ++ > .../autovec/vls-vlmax/init-same-tail-run-2.c | 48 ++ > .../autovec/vls-vlmax/init-same-tail-run-3.c | 42 ++ > .../riscv/rvv/autovec/vls/init-same-tail-1.c | 653 ++++++++++++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-2.c | 653 ++++++++++++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-3.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-4.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-5.c | 177 +++++ > .../riscv/rvv/autovec/vls/init-same-tail-6.c | 177 +++++ > .../riscv/rvv/autovec/vls/init-same-tail-7.c | 53 ++ > .../riscv/rvv/autovec/vls/init-same-tail-8.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-9.c | 177 +++++ > 18 files changed, 3179 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > > diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc > index c32cd8abe6c..c6c54c39076 100644 > --- a/gcc/config/riscv/riscv-v.cc > +++ b/gcc/config/riscv/riscv-v.cc > @@ -2126,6 +2126,44 @@ expand_vector_init_merge_repeating_sequence (rtx target, > } > } > > +/* Subroutine of expand_vec_init to handle case > + when all trailing elements of builder are same. > + This works as follows: > + (a) Use expand_insn interface to broadcast last vector element in TARGET. > + (b) Insert remaining elements in TARGET using insr. > + > + ??? The heuristic used is to do above if number of same trailing elements > + is at least 3/4 of total number of elements, loosely based on > + heuristic from mostly_zeros_p. May need fine-tuning. */ > + > +static bool > +expand_vector_init_trailing_same_elem (rtx target, > + const rtx_vector_builder &builder, > + int nelts_reqd) > +{ > + int ndups = builder.count_dups (nelts_reqd - 1, -1, -1); > + machine_mode mode = GET_MODE (target); > + > + if (ndups >= (3 * nelts_reqd) / 4) > + { > + rtx dup = expand_vector_broadcast (mode, builder.elt (nelts_reqd - 1)); > + emit_move_insn (target, dup); > + > + for (int i = nelts_reqd - ndups - 1; i >= 0; i--) > + { > + unsigned int unspec > + = FLOAT_MODE_P (mode) ? UNSPEC_VFSLIDE1UP : UNSPEC_VSLIDE1UP; > + insn_code icode = code_for_pred_slide (unspec, mode); > + rtx ops[] = {target, target, builder.elt (i)}; > + emit_vlmax_insn (icode, BINARY_OP, ops); > + } > + > + return true; > + } > + > + return false; > +} > + > /* Initialize register TARGET from the elements in PARALLEL rtx VALS. */ > > void > @@ -2162,6 +2200,11 @@ expand_vec_init (rtx target, rtx vals) > return; > } > > + /* Case 4: Optimize trailing same elements sequence: > + v = {y, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x}; */ > + if (expand_vector_init_trailing_same_elem (target, v, nelts)) > + return; > + > /* TODO: We will support more Initialization of vector in the future. */ > } > > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > new file mode 100644 > index 00000000000..eca36794ab5 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > @@ -0,0 +1,21 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx16di __attribute__ ((vector_size (1024))); > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx16di v = { > + a, a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + }; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\s+v[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > new file mode 100644 > index 00000000000..b4174b7f8fb > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > @@ -0,0 +1,24 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef double vnx8df __attribute__ ((vector_size (64))); > +typedef double vnx16df __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx8df (double a, double b, double *out) > +{ > + vnx8df v = {a, b, b, b, b, b, b, b}; > + *(vnx8df *) out = v; > +} > + > +__attribute__ ((noipa)) void > +f_vnx16df (double a, double b, double *out) > +{ > + vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b}; > + *(vnx16df *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vfmv\.v\.f\tv[0-9]+,\s*[a-x0-9]+} 2 } } */ > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 4 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > new file mode 100644 > index 00000000000..4b7d7545d11 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > @@ -0,0 +1,24 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx8di __attribute__ ((vector_size (64))); > +typedef int64_t vnx16di __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx8di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx8di v = {a, a, b, b, b, b, b, b}; > + *(vnx8di *) out = v; > +} > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx16di v = {a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b}; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 2 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > new file mode 100644 > index 00000000000..6fefead0fc8 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > @@ -0,0 +1,16 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx8di __attribute__ ((vector_size (64))); > + > +__attribute__ ((noipa)) void > +f_vnx8di (int64_t a, int64_t b, int64_t c, int64_t *out) > +{ > + vnx8di v = {a, b, c, c, c, c, c, c}; > + *(vnx8di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > new file mode 100644 > index 00000000000..0e2aa3c3619 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > @@ -0,0 +1,16 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx16di __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out) > +{ > + vnx16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d,}; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > new file mode 100644 > index 00000000000..467f4a60910 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > @@ -0,0 +1,47 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-2.c" > + > +int > +main () > +{ > + double a = -1789089.23423; > + double b = -8916156.45644; > + > + double v_vnx8df[sizeof (vnx8df) / sizeof (double)]; > + f_vnx8df (a, b, v_vnx8df); > + > + for (int i = 0; i < sizeof (vnx8df) / sizeof (double); i++) > + { > + if (i == 0) > + { > + if (v_vnx8df[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx8df[i] != b) > + __builtin_abort (); > + } > + } > + > + double v_vnx16df[sizeof (vnx16df) / sizeof (double)]; > + f_vnx16df (a, b, v_vnx16df); > + > + for (int i = 0; i < sizeof (vnx16df) / sizeof (double); i++) > + { > + if (i < 3) > + { > + if (v_vnx16df[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16df[i] != b) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > new file mode 100644 > index 00000000000..26354dea50a > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > @@ -0,0 +1,48 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-3.c" > + > +int > +main () > +{ > + int64_t a = -178908923423; > + int64_t b = -891615645644; > + int64_t v_vnx8di[sizeof (vnx8di) / sizeof (int64_t)]; > + > + f_vnx8di (a, b, v_vnx8di); > + > + for (int i = 0; i < sizeof (vnx8di) / sizeof (int64_t); i++) > + { > + if (i < 2) > + { > + if (v_vnx8di[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx8di[i] != b) > + __builtin_abort (); > + } > + } > + > + int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)]; > + > + f_vnx16di (a, b, v_vnx16di); > + > + for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++) > + { > + if (i == 0) > + { > + if (v_vnx16di[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16di[i] != b) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > new file mode 100644 > index 00000000000..48e4e562136 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > @@ -0,0 +1,42 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-5.c" > + > +int > +main () > +{ > + int64_t a = -178908923423; > + int64_t b = -891615645644; > + int64_t c = 78908923423; > + int64_t d = 81615645644; > + int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)]; > + > + f_vnx16di (a, b, c, d, v_vnx16di); > + > + for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++) > + { > + if (i == 0) > + { > + if (v_vnx16di[i] != a) > + __builtin_abort (); > + } > + else if (i == 1) > + { > + if (v_vnx16di[i] != b) > + __builtin_abort (); > + } > + else if (i == 2) > + { > + if (v_vnx16di[i] != c) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16di[i] != d) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > new file mode 100644 > index 00000000000..09a9838f321 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > @@ -0,0 +1,653 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256qi, int8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512qi, int8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024qi, int8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048qi, int8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v4096qi, int8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > new file mode 100644 > index 00000000000..519d31007fc > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > @@ -0,0 +1,653 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256uqi, uint8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512uqi, uint8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024uqi, uint8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048uqi, uint8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v4096uqi, uint8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > new file mode 100644 > index 00000000000..185050fe8a2 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256hi, int16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512hi, int16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024hi, int16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048hi, int16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > new file mode 100644 > index 00000000000..8cac5d9de37 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1) > +DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256uhi, uint16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512uhi, uint16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024uhi, uint16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT ( > + v2048uhi, uint16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > new file mode 100644 > index 00000000000..a79a4329787 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4si, int32_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8si, int32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16si, int32_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32si, int32_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64si, int32_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128si, int32_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256si, int32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512si, int32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024si, int32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > new file mode 100644 > index 00000000000..2bea83d777c > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1) > +DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256usi, uint32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512usi, uint32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024usi, uint32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > new file mode 100644 > index 00000000000..818fbbb129b > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > @@ -0,0 +1,53 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v16di, int64_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32di, int64_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64di, int64_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128di, int64_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256di, int64_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 5 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > new file mode 100644 > index 00000000000..78f438b42cb > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256hf, _Float16, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512hf, _Float16, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024hf, _Float16, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048hf, _Float16, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > new file mode 100644 > index 00000000000..dd3d933f556 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4sf, float, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8sf, float, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16sf, float, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32sf, float, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64sf, float, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128sf, float, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256sf, float, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512sf, float, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024sf, float, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > + > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 9 } } */ > -- > 2.34.1 >
You mean blend is which instruction ? This patch: f_vnx16df: vsetvli a5,zero,e64,m8,ta,mu vfmv.v.f v24,fa1 vfslide1up.vf v8,v24,fa0 vfslide1up.vf v24,v8,fa0 vfslide1up.vf v8,v24,fa0 vs8r.v v8,0(a0) ret Compare LLVM: f_vnx16df: # @f_vnx16df vsetivli zero, 16, e64, m8, ta, ma vfmv.v.f v8, fa1 vsetivli zero, 1, e16, mf4, ta, ma vmv.v.i v0, 7 vsetivli zero, 16, e64, m8, ta, ma vfmerge.vfm v8, v8, fa0, v0 vse64.v v8, (a0) ret I prefer first one. juzhe.zhong@rivai.ai From: Richard Biener Date: 2023-11-10 15:50 To: pan2.li CC: gcc-patches; juzhe.zhong; yanzhang.wang; kito.cheng Subject: Re: [PATCH v1] RISC-V: Support vec_init for trailing same element On Fri, Nov 10, 2023 at 7:23 AM <pan2.li@intel.com> wrote: > > From: Pan Li <pan2.li@intel.com> > > This patch would like to support the vec_init for the trailing same > element in the array. For example as below > > typedef double vnx16df __attribute__ ((vector_size (128))); > > __attribute__ ((noipa)) void > f_vnx16df (double a, double b, double *out) > { > vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b}; > *(vnx16df *) out = v; > } I wonder if for those cases two splat and a blend would be most efficient? > Before this patch: > f_vnx16df: > vsetivli zero,16,e64,m8,ta,ma > vfmv.v.f v8,fa0 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vs8r.v v8,0(a0) > ret > > After this patch: > f_vnx16df: > vsetivli zero,16,e64,m8,ta,ma > vfmv.v.f v16,fa1 > vfslide1up.vf v8,v16,fa0 > vmv8r.v v16,v8 > vfslide1up.vf v8,v16,fa0 > vmv8r.v v16,v8 > vfslide1up.vf v8,v16,fa0 > vs8r.v v8,0(a0) > ret > > gcc/ChangeLog: > > * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): > New fun impl to expand the insn when trailing same elements. > (expand_vec_init): Try trailing same elements when vec_init. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c: New test. > > Signed-off-by: Pan Li <pan2.li@intel.com> > --- > gcc/config/riscv/riscv-v.cc | 43 ++ > .../rvv/autovec/vls-vlmax/init-same-tail-1.c | 21 + > .../rvv/autovec/vls-vlmax/init-same-tail-2.c | 24 + > .../rvv/autovec/vls-vlmax/init-same-tail-3.c | 24 + > .../rvv/autovec/vls-vlmax/init-same-tail-4.c | 16 + > .../rvv/autovec/vls-vlmax/init-same-tail-5.c | 16 + > .../autovec/vls-vlmax/init-same-tail-run-1.c | 47 ++ > .../autovec/vls-vlmax/init-same-tail-run-2.c | 48 ++ > .../autovec/vls-vlmax/init-same-tail-run-3.c | 42 ++ > .../riscv/rvv/autovec/vls/init-same-tail-1.c | 653 ++++++++++++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-2.c | 653 ++++++++++++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-3.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-4.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-5.c | 177 +++++ > .../riscv/rvv/autovec/vls/init-same-tail-6.c | 177 +++++ > .../riscv/rvv/autovec/vls/init-same-tail-7.c | 53 ++ > .../riscv/rvv/autovec/vls/init-same-tail-8.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-9.c | 177 +++++ > 18 files changed, 3179 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > > diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc > index c32cd8abe6c..c6c54c39076 100644 > --- a/gcc/config/riscv/riscv-v.cc > +++ b/gcc/config/riscv/riscv-v.cc > @@ -2126,6 +2126,44 @@ expand_vector_init_merge_repeating_sequence (rtx target, > } > } > > +/* Subroutine of expand_vec_init to handle case > + when all trailing elements of builder are same. > + This works as follows: > + (a) Use expand_insn interface to broadcast last vector element in TARGET. > + (b) Insert remaining elements in TARGET using insr. > + > + ??? The heuristic used is to do above if number of same trailing elements > + is at least 3/4 of total number of elements, loosely based on > + heuristic from mostly_zeros_p. May need fine-tuning. */ > + > +static bool > +expand_vector_init_trailing_same_elem (rtx target, > + const rtx_vector_builder &builder, > + int nelts_reqd) > +{ > + int ndups = builder.count_dups (nelts_reqd - 1, -1, -1); > + machine_mode mode = GET_MODE (target); > + > + if (ndups >= (3 * nelts_reqd) / 4) > + { > + rtx dup = expand_vector_broadcast (mode, builder.elt (nelts_reqd - 1)); > + emit_move_insn (target, dup); > + > + for (int i = nelts_reqd - ndups - 1; i >= 0; i--) > + { > + unsigned int unspec > + = FLOAT_MODE_P (mode) ? UNSPEC_VFSLIDE1UP : UNSPEC_VSLIDE1UP; > + insn_code icode = code_for_pred_slide (unspec, mode); > + rtx ops[] = {target, target, builder.elt (i)}; > + emit_vlmax_insn (icode, BINARY_OP, ops); > + } > + > + return true; > + } > + > + return false; > +} > + > /* Initialize register TARGET from the elements in PARALLEL rtx VALS. */ > > void > @@ -2162,6 +2200,11 @@ expand_vec_init (rtx target, rtx vals) > return; > } > > + /* Case 4: Optimize trailing same elements sequence: > + v = {y, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x}; */ > + if (expand_vector_init_trailing_same_elem (target, v, nelts)) > + return; > + > /* TODO: We will support more Initialization of vector in the future. */ > } > > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > new file mode 100644 > index 00000000000..eca36794ab5 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > @@ -0,0 +1,21 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx16di __attribute__ ((vector_size (1024))); > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx16di v = { > + a, a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + }; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\s+v[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > new file mode 100644 > index 00000000000..b4174b7f8fb > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > @@ -0,0 +1,24 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef double vnx8df __attribute__ ((vector_size (64))); > +typedef double vnx16df __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx8df (double a, double b, double *out) > +{ > + vnx8df v = {a, b, b, b, b, b, b, b}; > + *(vnx8df *) out = v; > +} > + > +__attribute__ ((noipa)) void > +f_vnx16df (double a, double b, double *out) > +{ > + vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b}; > + *(vnx16df *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vfmv\.v\.f\tv[0-9]+,\s*[a-x0-9]+} 2 } } */ > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 4 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > new file mode 100644 > index 00000000000..4b7d7545d11 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > @@ -0,0 +1,24 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx8di __attribute__ ((vector_size (64))); > +typedef int64_t vnx16di __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx8di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx8di v = {a, a, b, b, b, b, b, b}; > + *(vnx8di *) out = v; > +} > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx16di v = {a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b}; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 2 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > new file mode 100644 > index 00000000000..6fefead0fc8 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > @@ -0,0 +1,16 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx8di __attribute__ ((vector_size (64))); > + > +__attribute__ ((noipa)) void > +f_vnx8di (int64_t a, int64_t b, int64_t c, int64_t *out) > +{ > + vnx8di v = {a, b, c, c, c, c, c, c}; > + *(vnx8di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > new file mode 100644 > index 00000000000..0e2aa3c3619 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > @@ -0,0 +1,16 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx16di __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out) > +{ > + vnx16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d,}; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > new file mode 100644 > index 00000000000..467f4a60910 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > @@ -0,0 +1,47 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-2.c" > + > +int > +main () > +{ > + double a = -1789089.23423; > + double b = -8916156.45644; > + > + double v_vnx8df[sizeof (vnx8df) / sizeof (double)]; > + f_vnx8df (a, b, v_vnx8df); > + > + for (int i = 0; i < sizeof (vnx8df) / sizeof (double); i++) > + { > + if (i == 0) > + { > + if (v_vnx8df[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx8df[i] != b) > + __builtin_abort (); > + } > + } > + > + double v_vnx16df[sizeof (vnx16df) / sizeof (double)]; > + f_vnx16df (a, b, v_vnx16df); > + > + for (int i = 0; i < sizeof (vnx16df) / sizeof (double); i++) > + { > + if (i < 3) > + { > + if (v_vnx16df[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16df[i] != b) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > new file mode 100644 > index 00000000000..26354dea50a > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > @@ -0,0 +1,48 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-3.c" > + > +int > +main () > +{ > + int64_t a = -178908923423; > + int64_t b = -891615645644; > + int64_t v_vnx8di[sizeof (vnx8di) / sizeof (int64_t)]; > + > + f_vnx8di (a, b, v_vnx8di); > + > + for (int i = 0; i < sizeof (vnx8di) / sizeof (int64_t); i++) > + { > + if (i < 2) > + { > + if (v_vnx8di[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx8di[i] != b) > + __builtin_abort (); > + } > + } > + > + int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)]; > + > + f_vnx16di (a, b, v_vnx16di); > + > + for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++) > + { > + if (i == 0) > + { > + if (v_vnx16di[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16di[i] != b) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > new file mode 100644 > index 00000000000..48e4e562136 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > @@ -0,0 +1,42 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-5.c" > + > +int > +main () > +{ > + int64_t a = -178908923423; > + int64_t b = -891615645644; > + int64_t c = 78908923423; > + int64_t d = 81615645644; > + int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)]; > + > + f_vnx16di (a, b, c, d, v_vnx16di); > + > + for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++) > + { > + if (i == 0) > + { > + if (v_vnx16di[i] != a) > + __builtin_abort (); > + } > + else if (i == 1) > + { > + if (v_vnx16di[i] != b) > + __builtin_abort (); > + } > + else if (i == 2) > + { > + if (v_vnx16di[i] != c) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16di[i] != d) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > new file mode 100644 > index 00000000000..09a9838f321 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > @@ -0,0 +1,653 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256qi, int8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512qi, int8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024qi, int8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048qi, int8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v4096qi, int8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > new file mode 100644 > index 00000000000..519d31007fc > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > @@ -0,0 +1,653 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256uqi, uint8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512uqi, uint8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024uqi, uint8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048uqi, uint8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v4096uqi, uint8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > new file mode 100644 > index 00000000000..185050fe8a2 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256hi, int16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512hi, int16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024hi, int16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048hi, int16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > new file mode 100644 > index 00000000000..8cac5d9de37 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1) > +DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256uhi, uint16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512uhi, uint16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024uhi, uint16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT ( > + v2048uhi, uint16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > new file mode 100644 > index 00000000000..a79a4329787 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4si, int32_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8si, int32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16si, int32_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32si, int32_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64si, int32_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128si, int32_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256si, int32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512si, int32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024si, int32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > new file mode 100644 > index 00000000000..2bea83d777c > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1) > +DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256usi, uint32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512usi, uint32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024usi, uint32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > new file mode 100644 > index 00000000000..818fbbb129b > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > @@ -0,0 +1,53 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v16di, int64_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32di, int64_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64di, int64_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128di, int64_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256di, int64_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 5 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > new file mode 100644 > index 00000000000..78f438b42cb > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256hf, _Float16, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512hf, _Float16, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024hf, _Float16, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048hf, _Float16, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > new file mode 100644 > index 00000000000..dd3d933f556 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4sf, float, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8sf, float, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16sf, float, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32sf, float, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64sf, float, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128sf, float, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256sf, float, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512sf, float, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024sf, float, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > + > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 9 } } */ > -- > 2.34.1 >
Oh. Thanks Richard remind. I come up with a better idea: 1. vmv.s.x r136, a -> r136 = [a,X,X,X,X,X,....,X] 2. vslide r136,r136, b -> r136 = [a,b,X,X,X,X,....,X] 3. vrgather.vv r137, r136, index -> [a,a,a,b, b, b, b, b, b, b, b, b, b, b, b, b] The shuffle index is easily pre-computed during compile-time since it is known vector size. juzhe.zhong@rivai.ai From: Richard Biener Date: 2023-11-10 15:50 To: pan2.li CC: gcc-patches; juzhe.zhong; yanzhang.wang; kito.cheng Subject: Re: [PATCH v1] RISC-V: Support vec_init for trailing same element On Fri, Nov 10, 2023 at 7:23 AM <pan2.li@intel.com> wrote: > > From: Pan Li <pan2.li@intel.com> > > This patch would like to support the vec_init for the trailing same > element in the array. For example as below > > typedef double vnx16df __attribute__ ((vector_size (128))); > > __attribute__ ((noipa)) void > f_vnx16df (double a, double b, double *out) > { > vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b}; > *(vnx16df *) out = v; > } I wonder if for those cases two splat and a blend would be most efficient? > Before this patch: > f_vnx16df: > vsetivli zero,16,e64,m8,ta,ma > vfmv.v.f v8,fa0 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vfslide1down.vf v8,v8,fa1 > vs8r.v v8,0(a0) > ret > > After this patch: > f_vnx16df: > vsetivli zero,16,e64,m8,ta,ma > vfmv.v.f v16,fa1 > vfslide1up.vf v8,v16,fa0 > vmv8r.v v16,v8 > vfslide1up.vf v8,v16,fa0 > vmv8r.v v16,v8 > vfslide1up.vf v8,v16,fa0 > vs8r.v v8,0(a0) > ret > > gcc/ChangeLog: > > * config/riscv/riscv-v.cc (expand_vector_init_trailing_same_elem): > New fun impl to expand the insn when trailing same elements. > (expand_vec_init): Try trailing same elements when vec_init. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c: New test. > * gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c: New test. > > Signed-off-by: Pan Li <pan2.li@intel.com> > --- > gcc/config/riscv/riscv-v.cc | 43 ++ > .../rvv/autovec/vls-vlmax/init-same-tail-1.c | 21 + > .../rvv/autovec/vls-vlmax/init-same-tail-2.c | 24 + > .../rvv/autovec/vls-vlmax/init-same-tail-3.c | 24 + > .../rvv/autovec/vls-vlmax/init-same-tail-4.c | 16 + > .../rvv/autovec/vls-vlmax/init-same-tail-5.c | 16 + > .../autovec/vls-vlmax/init-same-tail-run-1.c | 47 ++ > .../autovec/vls-vlmax/init-same-tail-run-2.c | 48 ++ > .../autovec/vls-vlmax/init-same-tail-run-3.c | 42 ++ > .../riscv/rvv/autovec/vls/init-same-tail-1.c | 653 ++++++++++++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-2.c | 653 ++++++++++++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-3.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-4.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-5.c | 177 +++++ > .../riscv/rvv/autovec/vls/init-same-tail-6.c | 177 +++++ > .../riscv/rvv/autovec/vls/init-same-tail-7.c | 53 ++ > .../riscv/rvv/autovec/vls/init-same-tail-8.c | 336 +++++++++ > .../riscv/rvv/autovec/vls/init-same-tail-9.c | 177 +++++ > 18 files changed, 3179 insertions(+) > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > > diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc > index c32cd8abe6c..c6c54c39076 100644 > --- a/gcc/config/riscv/riscv-v.cc > +++ b/gcc/config/riscv/riscv-v.cc > @@ -2126,6 +2126,44 @@ expand_vector_init_merge_repeating_sequence (rtx target, > } > } > > +/* Subroutine of expand_vec_init to handle case > + when all trailing elements of builder are same. > + This works as follows: > + (a) Use expand_insn interface to broadcast last vector element in TARGET. > + (b) Insert remaining elements in TARGET using insr. > + > + ??? The heuristic used is to do above if number of same trailing elements > + is at least 3/4 of total number of elements, loosely based on > + heuristic from mostly_zeros_p. May need fine-tuning. */ > + > +static bool > +expand_vector_init_trailing_same_elem (rtx target, > + const rtx_vector_builder &builder, > + int nelts_reqd) > +{ > + int ndups = builder.count_dups (nelts_reqd - 1, -1, -1); > + machine_mode mode = GET_MODE (target); > + > + if (ndups >= (3 * nelts_reqd) / 4) > + { > + rtx dup = expand_vector_broadcast (mode, builder.elt (nelts_reqd - 1)); > + emit_move_insn (target, dup); > + > + for (int i = nelts_reqd - ndups - 1; i >= 0; i--) > + { > + unsigned int unspec > + = FLOAT_MODE_P (mode) ? UNSPEC_VFSLIDE1UP : UNSPEC_VSLIDE1UP; > + insn_code icode = code_for_pred_slide (unspec, mode); > + rtx ops[] = {target, target, builder.elt (i)}; > + emit_vlmax_insn (icode, BINARY_OP, ops); > + } > + > + return true; > + } > + > + return false; > +} > + > /* Initialize register TARGET from the elements in PARALLEL rtx VALS. */ > > void > @@ -2162,6 +2200,11 @@ expand_vec_init (rtx target, rtx vals) > return; > } > > + /* Case 4: Optimize trailing same elements sequence: > + v = {y, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x}; */ > + if (expand_vector_init_trailing_same_elem (target, v, nelts)) > + return; > + > /* TODO: We will support more Initialization of vector in the future. */ > } > > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > new file mode 100644 > index 00000000000..eca36794ab5 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c > @@ -0,0 +1,21 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx16di __attribute__ ((vector_size (1024))); > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx16di v = { > + a, a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, > + }; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\s+v[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > new file mode 100644 > index 00000000000..b4174b7f8fb > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c > @@ -0,0 +1,24 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef double vnx8df __attribute__ ((vector_size (64))); > +typedef double vnx16df __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx8df (double a, double b, double *out) > +{ > + vnx8df v = {a, b, b, b, b, b, b, b}; > + *(vnx8df *) out = v; > +} > + > +__attribute__ ((noipa)) void > +f_vnx16df (double a, double b, double *out) > +{ > + vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b}; > + *(vnx16df *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vfmv\.v\.f\tv[0-9]+,\s*[a-x0-9]+} 2 } } */ > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 4 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > new file mode 100644 > index 00000000000..4b7d7545d11 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c > @@ -0,0 +1,24 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx8di __attribute__ ((vector_size (64))); > +typedef int64_t vnx16di __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx8di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx8di v = {a, a, b, b, b, b, b, b}; > + *(vnx8di *) out = v; > +} > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t *out) > +{ > + vnx16di v = {a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b}; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 2 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > new file mode 100644 > index 00000000000..6fefead0fc8 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c > @@ -0,0 +1,16 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx8di __attribute__ ((vector_size (64))); > + > +__attribute__ ((noipa)) void > +f_vnx8di (int64_t a, int64_t b, int64_t c, int64_t *out) > +{ > + vnx8di v = {a, b, c, c, c, c, c, c}; > + *(vnx8di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > new file mode 100644 > index 00000000000..0e2aa3c3619 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c > @@ -0,0 +1,16 @@ > +/* { dg-do compile } */ > +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ > + > +#include <stdint-gcc.h> > + > +typedef int64_t vnx16di __attribute__ ((vector_size (128))); > + > +__attribute__ ((noipa)) void > +f_vnx16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out) > +{ > + vnx16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d,}; > + *(vnx16di *) out = v; > +} > + > +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */ > +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > new file mode 100644 > index 00000000000..467f4a60910 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c > @@ -0,0 +1,47 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-2.c" > + > +int > +main () > +{ > + double a = -1789089.23423; > + double b = -8916156.45644; > + > + double v_vnx8df[sizeof (vnx8df) / sizeof (double)]; > + f_vnx8df (a, b, v_vnx8df); > + > + for (int i = 0; i < sizeof (vnx8df) / sizeof (double); i++) > + { > + if (i == 0) > + { > + if (v_vnx8df[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx8df[i] != b) > + __builtin_abort (); > + } > + } > + > + double v_vnx16df[sizeof (vnx16df) / sizeof (double)]; > + f_vnx16df (a, b, v_vnx16df); > + > + for (int i = 0; i < sizeof (vnx16df) / sizeof (double); i++) > + { > + if (i < 3) > + { > + if (v_vnx16df[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16df[i] != b) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > new file mode 100644 > index 00000000000..26354dea50a > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c > @@ -0,0 +1,48 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-3.c" > + > +int > +main () > +{ > + int64_t a = -178908923423; > + int64_t b = -891615645644; > + int64_t v_vnx8di[sizeof (vnx8di) / sizeof (int64_t)]; > + > + f_vnx8di (a, b, v_vnx8di); > + > + for (int i = 0; i < sizeof (vnx8di) / sizeof (int64_t); i++) > + { > + if (i < 2) > + { > + if (v_vnx8di[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx8di[i] != b) > + __builtin_abort (); > + } > + } > + > + int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)]; > + > + f_vnx16di (a, b, v_vnx16di); > + > + for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++) > + { > + if (i == 0) > + { > + if (v_vnx16di[i] != a) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16di[i] != b) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > new file mode 100644 > index 00000000000..48e4e562136 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c > @@ -0,0 +1,42 @@ > +/* { dg-do run { target { riscv_v } } } */ > +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ > + > +#include "init-same-tail-5.c" > + > +int > +main () > +{ > + int64_t a = -178908923423; > + int64_t b = -891615645644; > + int64_t c = 78908923423; > + int64_t d = 81615645644; > + int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)]; > + > + f_vnx16di (a, b, c, d, v_vnx16di); > + > + for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++) > + { > + if (i == 0) > + { > + if (v_vnx16di[i] != a) > + __builtin_abort (); > + } > + else if (i == 1) > + { > + if (v_vnx16di[i] != b) > + __builtin_abort (); > + } > + else if (i == 2) > + { > + if (v_vnx16di[i] != c) > + __builtin_abort (); > + } > + else > + { > + if (v_vnx16di[i] != d) > + __builtin_abort (); > + } > + } > + > + return 0; > +} > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > new file mode 100644 > index 00000000000..09a9838f321 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c > @@ -0,0 +1,653 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256qi, int8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512qi, int8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024qi, int8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048qi, int8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v4096qi, int8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > new file mode 100644 > index 00000000000..519d31007fc > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c > @@ -0,0 +1,653 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256uqi, uint8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512uqi, uint8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024uqi, uint8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048uqi, uint8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v4096uqi, uint8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > new file mode 100644 > index 00000000000..185050fe8a2 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256hi, int16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512hi, int16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024hi, int16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048hi, int16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > new file mode 100644 > index 00000000000..8cac5d9de37 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1) > +DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256uhi, uint16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512uhi, uint16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024uhi, uint16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT ( > + v2048uhi, uint16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > new file mode 100644 > index 00000000000..a79a4329787 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4si, int32_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8si, int32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16si, int32_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32si, int32_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64si, int32_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128si, int32_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256si, int32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512si, int32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024si, int32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > new file mode 100644 > index 00000000000..2bea83d777c > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1) > +DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256usi, uint32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512usi, uint32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024usi, uint32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > new file mode 100644 > index 00000000000..818fbbb129b > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c > @@ -0,0 +1,53 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v16di, int64_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32di, int64_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64di, int64_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128di, int64_t, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256di, int64_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 5 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > new file mode 100644 > index 00000000000..78f438b42cb > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c > @@ -0,0 +1,336 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256hf, _Float16, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512hf, _Float16, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024hf, _Float16, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT ( > + v2048hf, _Float16, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > + > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 10 } } */ > diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > new file mode 100644 > index 00000000000..dd3d933f556 > --- /dev/null > +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c > @@ -0,0 +1,177 @@ > +/* { dg-do compile } */ > +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ > + > +#include "def.h" > + > +DEF_REPEAT (v4sf, float, 4, var0, var1, var1, var1) > +DEF_REPEAT (v8sf, float, 8, var0, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v16sf, float, 16, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT (v32sf, float, 32, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1) > +DEF_REPEAT (v64sf, float, 64, var0, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > +DEF_REPEAT (v128sf, float, 128, var0, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v256sf, float, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v512sf, float, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1) > +DEF_REPEAT ( > + v1024sf, float, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, > + var1) > + > +/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 9 } } */ > -- > 2.34.1 >
On Fri, Nov 10, 2023 at 04:11:44PM +0800, juzhe.zhong@rivai.ai wrote:
> And I have revert this patch since we can disscuss more about this pattern optimization.
Unfortunately this broke the ChangeLog generation for several days.
The commit message says:
Revert "RISC-V: Support vec_init for trailing same element"
This reverts commit e7f4040d9d6ec40c48ada940168885d7dde03af9 as
introduces some legacy vmv insns.
The "This reverts commit ..." part is not free text form, it needs to be
exactly as added by git revert, the above unfortunately made it through
the pre-commit checking but not already through ChangeLog regeneration.
2023-11-14 Jakub Jelinek <jakub@redhat.com>
contrib/ChangeLog:
* gcc-changelog/git_update_version.py: Add
040e5b0edbca861196d9e2ea2af5e805769c8d5d to ignored commits.
--- contrib/gcc-changelog/git_update_version.py
+++ contrib/gcc-changelog/git_update_version.py
@@ -37,7 +37,8 @@ IGNORED_COMMITS = (
'3ab5c8cd03d92bf4ec41e351820349d92fbc40c4',
'86d8e0c0652ef5236a460b75c25e4f7093cc0651',
'e4cba49413ca429dc82f6aa2e88129ecb3fdd943',
- '1957bedf29a1b2cc231972aba680fe80199d5498')
+ '1957bedf29a1b2cc231972aba680fe80199d5498',
+ '040e5b0edbca861196d9e2ea2af5e805769c8d5d')
FORMAT = '%(asctime)s:%(levelname)s:%(name)s:%(message)s'
logging.basicConfig(level=logging.INFO, format=FORMAT,
is what I've committed to unbreak this.
Jakub
Sorry for the unexpected impact, good to know the rule about git revert, will pay more attention for it. Pan -----Original Message----- From: Jakub Jelinek <jakub@redhat.com> Sent: Tuesday, November 14, 2023 8:28 PM To: juzhe.zhong@rivai.ai Cc: Richard Biener <richard.guenther@gmail.com>; Li, Pan2 <pan2.li@intel.com>; gcc-patches <gcc-patches@gcc.gnu.org>; Wang, Yanzhang <yanzhang.wang@intel.com>; kito.cheng <kito.cheng@gmail.com> Subject: Re: Re: [PATCH v1] RISC-V: Support vec_init for trailing same element On Fri, Nov 10, 2023 at 04:11:44PM +0800, juzhe.zhong@rivai.ai wrote: > And I have revert this patch since we can disscuss more about this pattern optimization. Unfortunately this broke the ChangeLog generation for several days. The commit message says: Revert "RISC-V: Support vec_init for trailing same element" This reverts commit e7f4040d9d6ec40c48ada940168885d7dde03af9 as introduces some legacy vmv insns. The "This reverts commit ..." part is not free text form, it needs to be exactly as added by git revert, the above unfortunately made it through the pre-commit checking but not already through ChangeLog regeneration. 2023-11-14 Jakub Jelinek <jakub@redhat.com> contrib/ChangeLog: * gcc-changelog/git_update_version.py: Add 040e5b0edbca861196d9e2ea2af5e805769c8d5d to ignored commits. --- contrib/gcc-changelog/git_update_version.py +++ contrib/gcc-changelog/git_update_version.py @@ -37,7 +37,8 @@ IGNORED_COMMITS = ( '3ab5c8cd03d92bf4ec41e351820349d92fbc40c4', '86d8e0c0652ef5236a460b75c25e4f7093cc0651', 'e4cba49413ca429dc82f6aa2e88129ecb3fdd943', - '1957bedf29a1b2cc231972aba680fe80199d5498') + '1957bedf29a1b2cc231972aba680fe80199d5498', + '040e5b0edbca861196d9e2ea2af5e805769c8d5d') FORMAT = '%(asctime)s:%(levelname)s:%(name)s:%(message)s' logging.basicConfig(level=logging.INFO, format=FORMAT, is what I've committed to unbreak this. Jakub
diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index c32cd8abe6c..c6c54c39076 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -2126,6 +2126,44 @@ expand_vector_init_merge_repeating_sequence (rtx target, } } +/* Subroutine of expand_vec_init to handle case + when all trailing elements of builder are same. + This works as follows: + (a) Use expand_insn interface to broadcast last vector element in TARGET. + (b) Insert remaining elements in TARGET using insr. + + ??? The heuristic used is to do above if number of same trailing elements + is at least 3/4 of total number of elements, loosely based on + heuristic from mostly_zeros_p. May need fine-tuning. */ + +static bool +expand_vector_init_trailing_same_elem (rtx target, + const rtx_vector_builder &builder, + int nelts_reqd) +{ + int ndups = builder.count_dups (nelts_reqd - 1, -1, -1); + machine_mode mode = GET_MODE (target); + + if (ndups >= (3 * nelts_reqd) / 4) + { + rtx dup = expand_vector_broadcast (mode, builder.elt (nelts_reqd - 1)); + emit_move_insn (target, dup); + + for (int i = nelts_reqd - ndups - 1; i >= 0; i--) + { + unsigned int unspec + = FLOAT_MODE_P (mode) ? UNSPEC_VFSLIDE1UP : UNSPEC_VSLIDE1UP; + insn_code icode = code_for_pred_slide (unspec, mode); + rtx ops[] = {target, target, builder.elt (i)}; + emit_vlmax_insn (icode, BINARY_OP, ops); + } + + return true; + } + + return false; +} + /* Initialize register TARGET from the elements in PARALLEL rtx VALS. */ void @@ -2162,6 +2200,11 @@ expand_vec_init (rtx target, rtx vals) return; } + /* Case 4: Optimize trailing same elements sequence: + v = {y, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x}; */ + if (expand_vector_init_trailing_same_elem (target, v, nelts)) + return; + /* TODO: We will support more Initialization of vector in the future. */ } diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c new file mode 100644 index 00000000000..eca36794ab5 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-1.c @@ -0,0 +1,21 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d" } */ + +#include <stdint-gcc.h> + +typedef int64_t vnx16di __attribute__ ((vector_size (1024))); + +__attribute__ ((noipa)) void +f_vnx16di (int64_t a, int64_t b, int64_t *out) +{ + vnx16di v = { + a, a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, + b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b, + }; + *(vnx16di *) out = v; +} + +/* { dg-final { scan-assembler-times {vmv\.v\.x\s+v[0-9]+,\s*[a-x0-9]+} 1 } } */ +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c new file mode 100644 index 00000000000..b4174b7f8fb --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-2.c @@ -0,0 +1,24 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ + +#include <stdint-gcc.h> + +typedef double vnx8df __attribute__ ((vector_size (64))); +typedef double vnx16df __attribute__ ((vector_size (128))); + +__attribute__ ((noipa)) void +f_vnx8df (double a, double b, double *out) +{ + vnx8df v = {a, b, b, b, b, b, b, b}; + *(vnx8df *) out = v; +} + +__attribute__ ((noipa)) void +f_vnx16df (double a, double b, double *out) +{ + vnx16df v = {a, a, a, b, b, b, b, b, b, b, b, b, b, b, b, b}; + *(vnx16df *) out = v; +} + +/* { dg-final { scan-assembler-times {vfmv\.v\.f\tv[0-9]+,\s*[a-x0-9]+} 2 } } */ +/* { dg-final { scan-assembler-times {vfslide1up\.vf\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 4 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c new file mode 100644 index 00000000000..4b7d7545d11 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-3.c @@ -0,0 +1,24 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ + +#include <stdint-gcc.h> + +typedef int64_t vnx8di __attribute__ ((vector_size (64))); +typedef int64_t vnx16di __attribute__ ((vector_size (128))); + +__attribute__ ((noipa)) void +f_vnx8di (int64_t a, int64_t b, int64_t *out) +{ + vnx8di v = {a, a, b, b, b, b, b, b}; + *(vnx8di *) out = v; +} + +__attribute__ ((noipa)) void +f_vnx16di (int64_t a, int64_t b, int64_t *out) +{ + vnx16di v = {a, b, b, b, b, b, b, b, b, b, b, b, b, b, b, b}; + *(vnx16di *) out = v; +} + +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 2 } } */ +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c new file mode 100644 index 00000000000..6fefead0fc8 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-4.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ + +#include <stdint-gcc.h> + +typedef int64_t vnx8di __attribute__ ((vector_size (64))); + +__attribute__ ((noipa)) void +f_vnx8di (int64_t a, int64_t b, int64_t c, int64_t *out) +{ + vnx8di v = {a, b, c, c, c, c, c, c}; + *(vnx8di *) out = v; +} + +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */ +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 2 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c new file mode 100644 index 00000000000..0e2aa3c3619 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-5.c @@ -0,0 +1,16 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */ + +#include <stdint-gcc.h> + +typedef int64_t vnx16di __attribute__ ((vector_size (128))); + +__attribute__ ((noipa)) void +f_vnx16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out) +{ + vnx16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d,}; + *(vnx16di *) out = v; +} + +/* { dg-final { scan-assembler-times {vmv\.v\.x\tv[0-9]+,\s*[a-x0-9]+} 1 } } */ +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c new file mode 100644 index 00000000000..467f4a60910 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-1.c @@ -0,0 +1,47 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ + +#include "init-same-tail-2.c" + +int +main () +{ + double a = -1789089.23423; + double b = -8916156.45644; + + double v_vnx8df[sizeof (vnx8df) / sizeof (double)]; + f_vnx8df (a, b, v_vnx8df); + + for (int i = 0; i < sizeof (vnx8df) / sizeof (double); i++) + { + if (i == 0) + { + if (v_vnx8df[i] != a) + __builtin_abort (); + } + else + { + if (v_vnx8df[i] != b) + __builtin_abort (); + } + } + + double v_vnx16df[sizeof (vnx16df) / sizeof (double)]; + f_vnx16df (a, b, v_vnx16df); + + for (int i = 0; i < sizeof (vnx16df) / sizeof (double); i++) + { + if (i < 3) + { + if (v_vnx16df[i] != a) + __builtin_abort (); + } + else + { + if (v_vnx16df[i] != b) + __builtin_abort (); + } + } + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c new file mode 100644 index 00000000000..26354dea50a --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-2.c @@ -0,0 +1,48 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ + +#include "init-same-tail-3.c" + +int +main () +{ + int64_t a = -178908923423; + int64_t b = -891615645644; + int64_t v_vnx8di[sizeof (vnx8di) / sizeof (int64_t)]; + + f_vnx8di (a, b, v_vnx8di); + + for (int i = 0; i < sizeof (vnx8di) / sizeof (int64_t); i++) + { + if (i < 2) + { + if (v_vnx8di[i] != a) + __builtin_abort (); + } + else + { + if (v_vnx8di[i] != b) + __builtin_abort (); + } + } + + int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)]; + + f_vnx16di (a, b, v_vnx16di); + + for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++) + { + if (i == 0) + { + if (v_vnx16di[i] != a) + __builtin_abort (); + } + else + { + if (v_vnx16di[i] != b) + __builtin_abort (); + } + } + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c new file mode 100644 index 00000000000..48e4e562136 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-same-tail-run-3.c @@ -0,0 +1,42 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */ + +#include "init-same-tail-5.c" + +int +main () +{ + int64_t a = -178908923423; + int64_t b = -891615645644; + int64_t c = 78908923423; + int64_t d = 81615645644; + int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)]; + + f_vnx16di (a, b, c, d, v_vnx16di); + + for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++) + { + if (i == 0) + { + if (v_vnx16di[i] != a) + __builtin_abort (); + } + else if (i == 1) + { + if (v_vnx16di[i] != b) + __builtin_abort (); + } + else if (i == 2) + { + if (v_vnx16di[i] != c) + __builtin_abort (); + } + else + { + if (v_vnx16di[i] != d) + __builtin_abort (); + } + } + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c new file mode 100644 index 00000000000..09a9838f321 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-1.c @@ -0,0 +1,653 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var1, var1) +DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256qi, int8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v512qi, int8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v1024qi, int8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT ( + v2048qi, int8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v4096qi, int8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1) + +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c new file mode 100644 index 00000000000..519d31007fc --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-2.c @@ -0,0 +1,653 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var1, var1) +DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256uqi, uint8_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v512uqi, uint8_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v1024uqi, uint8_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT ( + v2048uqi, uint8_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v4096uqi, uint8_t, 4096, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1) + +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 11 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c new file mode 100644 index 00000000000..185050fe8a2 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-3.c @@ -0,0 +1,336 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var1, var1) +DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256hi, int16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v512hi, int16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v1024hi, int16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT ( + v2048hi, int16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) + +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c new file mode 100644 index 00000000000..8cac5d9de37 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-4.c @@ -0,0 +1,336 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var1, var1) +DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1) +DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256uhi, uint16_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v512uhi, uint16_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v1024uhi, uint16_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT ( + v2048uhi, uint16_t, 2048, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) + +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 10 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c new file mode 100644 index 00000000000..a79a4329787 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-5.c @@ -0,0 +1,177 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4si, int32_t, 4, var0, var1, var1, var1) +DEF_REPEAT (v8si, int32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v16si, int32_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32si, int32_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v64si, int32_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT (v128si, int32_t, 128, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256si, int32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v512si, int32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v1024si, int32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) + +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c new file mode 100644 index 00000000000..2bea83d777c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-6.c @@ -0,0 +1,177 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var1, var1) +DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1) +DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256usi, uint32_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v512usi, uint32_t, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v1024usi, uint32_t, 1024, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) + +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 9 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c new file mode 100644 index 00000000000..818fbbb129b --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-7.c @@ -0,0 +1,53 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v16di, int64_t, 16, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32di, int64_t, 32, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v64di, int64_t, 64, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT (v128di, int64_t, 128, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256di, int64_t, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) + +/* { dg-final { scan-assembler-times {vslide1up\.vx\s+v[0-9]+,\s*v[0-9]+,\s*[ax][0-9]+} 5 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c new file mode 100644 index 00000000000..78f438b42cb --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-8.c @@ -0,0 +1,336 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var1, var1) +DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256hf, _Float16, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v512hf, _Float16, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v1024hf, _Float16, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT ( + v2048hf, _Float16, 2048, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) + +/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 10 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c new file mode 100644 index 00000000000..dd3d933f556 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-same-tail-9.c @@ -0,0 +1,177 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4sf, float, 4, var0, var1, var1, var1) +DEF_REPEAT (v8sf, float, 8, var0, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v16sf, float, 16, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT (v32sf, float, 32, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1) +DEF_REPEAT (v64sf, float, 64, var0, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) +DEF_REPEAT (v128sf, float, 128, var0, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v256sf, float, 256, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v512sf, float, 512, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1) +DEF_REPEAT ( + v1024sf, float, 1024, var0, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, + var1) + +/* { dg-final { scan-assembler-times {vfslide1up\.vf\s+v[0-9]+,\s*v[0-9]+,\s*[axf]+[0-9]+} 9 } } */