diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index ffb645eccf3c964dc84e9e123db988c82ce7da42..c718b5046181b7fd55057a0be74f321e4c508458 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -2268,6 +2268,47 @@ expand_vector_init_merge_combine_sequence (rtx target, emit_vlmax_insn (icode, MERGE_OP, merge_ops); } +/* Subroutine of expand_vec_init to handle case + when all trailing elements of builder are same. + This works as follows: + (a) Use expand_insn interface to broadcast last vector element in TARGET. + (b) Insert remaining elements in TARGET using insr. + + ??? The heuristic used is to do above if number of same trailing elements + is greater than leading_ndups, loosely based on + heuristic from mostly_zeros_p. May need fine-tuning. */ + +static bool +expand_vector_init_trailing_same_elem (rtx target, + const rtx_vector_builder &builder, + int nelts_reqd) +{ + int leading_ndups = builder.count_dups (0, nelts_reqd - 1, 1); + int trailing_ndups = builder.count_dups (nelts_reqd - 1, -1, -1); + machine_mode mode = GET_MODE (target); + + if (trailing_ndups > leading_ndups) + { + rtx dup = expand_vector_broadcast (mode, builder.elt (nelts_reqd - 1)); + for (int i = nelts_reqd - trailing_ndups - 1; i >= 0; i--) + { + unsigned int unspec + = FLOAT_MODE_P (mode) ? UNSPEC_VFSLIDE1UP : UNSPEC_VSLIDE1UP; + insn_code icode = code_for_pred_slide (unspec, mode); + rtx tmp = gen_reg_rtx (mode); + rtx ops[] = {tmp, dup, builder.elt (i)}; + emit_vlmax_insn (icode, BINARY_OP, ops); + /* slide1up need source and dest to be different REG. */ + dup = tmp; + } + + emit_move_insn (target, dup); + return true; + } + + return false; +} + /* Initialize register TARGET from the elements in PARALLEL rtx VALS. */ void @@ -2335,10 +2376,13 @@ expand_vec_init (rtx target, rtx vals) } } - /* Handle common situation by vslide1down. This function can handle any - situation of vec_init<mode>. Only the cases that are not optimized above - will fall through here. */ - expand_vector_init_insert_elems (target, v, nelts); + /* Optimize trailing same elements sequence: + v = {y, y2, y3, y4, y5, x, x, x, x, x, x, x, x, x, x, x}; */ + if (!expand_vector_init_trailing_same_elem (target, v, nelts)) + /* Handle common situation by vslide1down. This function can handle any + situation of vec_init<mode>. Only the cases that are not optimized above + will fall through here. */ + expand_vector_init_insert_elems (target, v, nelts); } /* Get insn code for corresponding comparison. */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c new file mode 100644 index 0000000000000000000000000000000000000000..b48252a5dc597645b53d7223142784f121f3b18e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-1.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d --param=riscv-autovec-lmul=m8 --param=riscv-autovec-preference=fixed-vlmax" } */ + +#include <stdint-gcc.h> + +typedef int64_t v16di __attribute__ ((vector_size (128))); + +__attribute__ ((noipa)) void +f_v16di (int64_t a, int64_t b, int64_t c, int64_t d, int64_t *out) +{ + v16di v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d}; + *(v16di *) out = v; +} + +/* { dg-final { scan-assembler-times {vslide1up\.vx\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c new file mode 100644 index 0000000000000000000000000000000000000000..46d2777d7576877b0bace26a218ec9a50d2652e1 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing-2.c @@ -0,0 +1,15 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d --param=riscv-autovec-lmul=m8 --param=riscv-autovec-preference=fixed-vlmax" } */ + +#include <stdint-gcc.h> + +typedef double v16df __attribute__ ((vector_size (128))); + +__attribute__ ((noipa)) void +f_v16df (double a, double b, double c, double d, double *out) +{ + v16df v = {a, b, c, d, d, d, d, d, d, d, d, d, d, d, d, d}; + *(v16df *) out = v; +} + +/* { dg-final { scan-assembler-times {vfslide1up\.vf\tv[0-9]+,\s*v[0-9]+,\s*[a-x0-9]+} 3 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c new file mode 100644 index 0000000000000000000000000000000000000000..469c30d42d1ac951243f4a2ef0043e7363db1a31 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-1.c @@ -0,0 +1,42 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "trailing-1.c" + +int +main () +{ + int64_t a = -1789089; + int64_t b = 8916156; + int64_t c = -7789; + int64_t d = 9156; + + int64_t v_v16di[sizeof (v16di) / sizeof (int64_t)]; + f_v16di (a, b, c, d, v_v16di); + + for (int i = 0; i < sizeof (v16di) / sizeof (int64_t); i++) + { + if (i == 0) + { + if (v_v16di[i] != a) + __builtin_abort (); + } + else if (i == 1) + { + if (v_v16di[i] != b) + __builtin_abort (); + } + else if (i == 2) + { + if (v_v16di[i] != c) + __builtin_abort (); + } + else + { + if (v_v16di[i] != d) + __builtin_abort (); + } + } + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c new file mode 100644 index 0000000000000000000000000000000000000000..cbb0b152459846a2d00b9bb960bec2d4c861033c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/trailing_run-2.c @@ -0,0 +1,42 @@ +/* { dg-do run { target { riscv_v } } } */ +/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "trailing-2.c" + +int +main () +{ + double a = -1789089.4324; + double b = 8916156.82343; + double c = -7789.3423; + double d = 9156.955; + + double v_v16df[sizeof (v16df) / sizeof (double)]; + f_v16df (a, b, c, d, v_v16df); + + for (int i = 0; i < sizeof (v16df) / sizeof (double); i++) + { + if (i == 0) + { + if (v_v16df[i] != a) + __builtin_abort (); + } + else if (i == 1) + { + if (v_v16df[i] != b) + __builtin_abort (); + } + else if (i == 2) + { + if (v_v16df[i] != c) + __builtin_abort (); + } + else + { + if (v_v16df[i] != d) + __builtin_abort (); + } + } + + return 0; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h index 9cc3656e710e155d6c62cd3debe5c7764d7f8924..cb7a1c97ded1202b713f73bd2e9458882c2b0d34 100644 --- a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/def.h @@ -852,3 +852,11 @@ typedef double v512df __attribute__ ((vector_size (4096))); v##NUM##TYPE1 v = {__VA_ARGS__}; \ *(v##NUM##TYPE1 *) out = v; \ } + +#define DEF_TRAILING(TYPE1, TYPE2, NUM, ...) \ + void init_##TYPE1##_##TYPE2##_##NUM (TYPE2 var0, TYPE2 var1, TYPE2 var2, \ + TYPE2 var3, TYPE2 *__restrict out) \ + { \ + TYPE1 v = {__VA_ARGS__}; \ + *(TYPE1 *) out = v; \ + } diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c new file mode 100644 index 0000000000000000000000000000000000000000..ed15a12ecfb23ad03bf214292d6cfb01541e91ce --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-1.c @@ -0,0 +1,652 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_TRAILING (v8qi, int8_t, 8, var0, var1, var2, var3, var3, var3, var3, var3) +DEF_TRAILING (v16qi, int8_t, 16, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING (v32qi, int8_t, 32, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3) +DEF_TRAILING (v64qi, int8_t, 64, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING (v128qi, int8_t, 128, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v256qi, int8_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v512qi, int8_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v1024qi, int8_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING ( + v2048qi, int8_t, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v4096qi, int8_t, 4096, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3) + +/* { dg-final { scan-assembler-times {vslide1up\.vx} 30 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c new file mode 100644 index 0000000000000000000000000000000000000000..5deb097bf544582cf5f644004c5e7799c8b2221c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-2.c @@ -0,0 +1,335 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_TRAILING (v8hi, int16_t, 8, var0, var1, var2, var3, var3, var3, var3, var3) +DEF_TRAILING (v16hi, int16_t, 16, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING (v32hi, int16_t, 32, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3) +DEF_TRAILING (v64hi, int16_t, 64, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING (v128hi, int16_t, 128, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v256hi, int16_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v512hi, int16_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v1024hi, int16_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING ( + v2048hi, int16_t, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) + +/* { dg-final { scan-assembler-times {vslide1up\.vx} 27 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c new file mode 100644 index 0000000000000000000000000000000000000000..e503d6c4dff01a3c4eb9a9caa3dd05eea15081b1 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-3.c @@ -0,0 +1,176 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_TRAILING (v8si, int32_t, 8, var0, var1, var2, var3, var3, var3, var3, var3) +DEF_TRAILING (v16si, int32_t, 16, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING (v32si, int32_t, 32, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3) +DEF_TRAILING (v64si, int32_t, 64, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING (v128si, int32_t, 128, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v256si, int32_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v512si, int32_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v1024si, int32_t, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) + +/* { dg-final { scan-assembler-times {vslide1up\.vx} 24 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c new file mode 100644 index 0000000000000000000000000000000000000000..c7945643d57c63945c5792c9e41380459d71d20c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-4.c @@ -0,0 +1,96 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_TRAILING (v8di, int64_t, 8, var0, var1, var2, var3, var3, var3, var3, var3) +DEF_TRAILING (v16di, int64_t, 16, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING (v32di, int64_t, 32, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3) +DEF_TRAILING (v64di, int64_t, 64, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING (v128di, int64_t, 128, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v256di, int64_t, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v512di, int64_t, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3) + + +/* { dg-final { scan-assembler-times {vslide1up\.vx} 21 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c new file mode 100644 index 0000000000000000000000000000000000000000..43e179229500d74a484987953d412d2da0b50389 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-5.c @@ -0,0 +1,335 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_TRAILING (v8hf, _Float16, 8, var0, var1, var2, var3, var3, var3, var3, var3) +DEF_TRAILING (v16hf, _Float16, 16, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING (v32hf, _Float16, 32, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3) +DEF_TRAILING (v64hf, _Float16, 64, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING (v128hf, _Float16, 128, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v256hf, _Float16, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v512hf, _Float16, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v1024hf, _Float16, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING ( + v2048hf, _Float16, 2048, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) + +/* { dg-final { scan-assembler-times {vfslide1up\.vf} 27 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c new file mode 100644 index 0000000000000000000000000000000000000000..bb91c6a185542e05bbc914e4f4005255d8869f2d --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-6.c @@ -0,0 +1,176 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_TRAILING (v8sf, float, 8, var0, var1, var2, var3, var3, var3, var3, var3) +DEF_TRAILING (v16sf, float, 16, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING (v32sf, float, 32, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3) +DEF_TRAILING (v64sf, float, 64, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING (v128sf, float, 128, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v256sf, float, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v512sf, float, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v1024sf, float, 1024, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) + +/* { dg-final { scan-assembler-times {vfslide1up\.vf} 24 } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c new file mode 100644 index 0000000000000000000000000000000000000000..b12f08d280e19faedb982789d5be2d3b044d311b --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/trailing-7.c @@ -0,0 +1,96 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_TRAILING (v8df, double, 8, var0, var1, var2, var3, var3, var3, var3, var3) +DEF_TRAILING (v16df, double, 16, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING (v32df, double, 32, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3) +DEF_TRAILING (v64df, double, 64, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3) +DEF_TRAILING (v128df, double, 128, var0, var1, var2, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v256df, double, 256, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3) +DEF_TRAILING ( + v512df, double, 512, var0, var1, var2, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, var3, + var3, var3, var3, var3, var3, var3, var3, var3, var3) + + +/* { dg-final { scan-assembler-times {vfslide1up\.vf} 21 } } */