bool repeating_sequence_use_merge_profitable_p ();
bool combine_sequence_use_slideup_profitable_p ();
bool combine_sequence_use_merge_profitable_p ();
- rtx get_merge_scalar_mask (unsigned int) const;
+ rtx get_merge_scalar_mask (unsigned int, machine_mode) const;
bool single_step_npatterns_p () const;
bool npatterns_all_equal_p () const;
To merge "b", the mask should be 0101....
*/
rtx
-rvv_builder::get_merge_scalar_mask (unsigned int index_in_pattern) const
+rvv_builder::get_merge_scalar_mask (unsigned int index_in_pattern,
+ machine_mode inner_mode) const
{
unsigned HOST_WIDE_INT mask = 0;
unsigned HOST_WIDE_INT base_mask = (1ULL << index_in_pattern);
for (int i = 0; i < limit; i++)
mask |= base_mask << (i * npatterns ());
- return gen_int_mode (mask, inner_int_mode ());
+ return gen_int_mode (mask, inner_mode);
}
/* Return true if the variable-length vector is single step.
/* Emit merge instruction. */
static machine_mode
-get_repeating_sequence_dup_machine_mode (const rvv_builder &builder)
+get_repeating_sequence_dup_machine_mode (const rvv_builder &builder,
+ machine_mode mask_bit_mode)
{
- poly_uint64 dup_nunits = GET_MODE_NUNITS (builder.mode ());
+ unsigned mask_precision = GET_MODE_PRECISION (mask_bit_mode).to_constant ();
+ unsigned mask_scalar_size = mask_precision > builder.inner_bits_size ()
+ ? builder.inner_bits_size () : mask_precision;
- if (known_ge (GET_MODE_SIZE (builder.mode ()), BYTES_PER_RISCV_VECTOR))
+ scalar_mode inner_mode;
+ unsigned minimal_bits_size;
+
+ switch (mask_scalar_size)
{
- dup_nunits = exact_div (BYTES_PER_RISCV_VECTOR,
- builder.inner_bytes_size ());
+ case 8:
+ inner_mode = QImode;
+ minimal_bits_size = TARGET_MIN_VLEN / 8; /* AKA RVVMF8. */
+ break;
+ case 16:
+ inner_mode = HImode;
+ minimal_bits_size = TARGET_MIN_VLEN / 4; /* AKA RVVMF4. */
+ break;
+ case 32:
+ inner_mode = SImode;
+ minimal_bits_size = TARGET_MIN_VLEN / 2; /* AKA RVVMF2. */
+ break;
+ case 64:
+ inner_mode = DImode;
+ minimal_bits_size = TARGET_MIN_VLEN / 1; /* AKA RVVM1. */
+ break;
+ default:
+ gcc_unreachable ();
+ break;
}
- return get_vector_mode (builder.inner_int_mode (), dup_nunits).require ();
+ gcc_assert (mask_precision % mask_scalar_size == 0);
+
+ uint64_t dup_nunit = mask_precision > mask_scalar_size
+ ? mask_precision / mask_scalar_size : minimal_bits_size / mask_scalar_size;
+
+ return get_vector_mode (inner_mode, dup_nunit).require ();
}
/* Expand series const vector. */
since we don't have such instruction in RVV.
Instead, we should use INT mode (QI/HI/SI/DI) with integer move
instruction to generate the mask data we want. */
- machine_mode mask_int_mode
- = get_repeating_sequence_dup_machine_mode (builder);
machine_mode mask_bit_mode = get_mask_mode (builder.mode ());
+ machine_mode mask_int_mode
+ = get_repeating_sequence_dup_machine_mode (builder, mask_bit_mode);
uint64_t full_nelts = builder.full_nelts ().to_constant ();
/* Step 1: Broadcast the first pattern. */
for (unsigned int i = 1; i < builder.npatterns (); i++)
{
/* Step 2-1: Generate mask register v0 for each merge. */
- rtx merge_mask = builder.get_merge_scalar_mask (i);
+ rtx merge_mask
+ = builder.get_merge_scalar_mask (i, GET_MODE_INNER (mask_int_mode));
rtx mask = gen_reg_rtx (mask_bit_mode);
rtx dup = gen_reg_rtx (mask_int_mode);
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx32di __attribute__ ((vector_size (32 * 8)));
+
+/*
+** f_vnx32di:
+** vsetvli\s+[axt][0-9]+,\s*zero,\s*e64,\s*m2,\s*ta,\s*ma
+** ...
+** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+** ...
+** vmv\.s\.x\s+v0,\s*[axt][0-9]+
+** vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0
+** vs2r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx32di (int64_t a, int64_t b, int64_t *out)
+{
+ vnx32di v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx32di *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+typedef double vnx32df __attribute__ ((vector_size (32 * 8)));
+
+/*
+** f_vnx32df:
+** vsetvli\s+[axt][0-9]+\s*,zero,\s*e64,\s*m2,\s*ta,\s*ma
+** ...
+** vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+
+** ...
+** vmv\.s\.x\s+v0,\s*[axt][0-9]+
+** vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0
+** vs2r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx32df (double a, double b, double *out)
+{
+ vnx32df v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx32df *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int8_t vnx4096qi __attribute__ ((vector_size (4096)));
+
+/*
+** f_vnx4096qi:
+** ...
+** vsetvli\s+[axt][0-9]+,\s*zero,\s*e16,\s*m8,\s*ta,\s*ma
+** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx4096qi (int8_t a, int8_t b, int8_t *out)
+{
+ vnx4096qi v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx4096qi *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx512di __attribute__ ((vector_size (512 * 8)));
+
+/*
+** f_vnx512di:
+** ...
+** vsetivli\s+zero,\s*8,\s*e64,\s*m1,\s*ta,\s*ma
+** vmv\.v\.x\s+v0,[atx][0-9]+
+** vsetvli\s+[atx][0-9]+,\s*zero,\s*e64,\s*m8,\s*ta,\s*ma
+** vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0
+** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx512di (int64_t a, int64_t b, int64_t *out)
+{
+ vnx512di v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx512di *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int32_t vnx1024si __attribute__ ((vector_size (1024 * 4)));
+
+/*
+** f_vnx1024si:
+** ...
+** vsetvli\s+[atx][0-9]+,\s*zero,\s*e64,\s*m8,\s*ta,\s*ma
+** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx1024si (int32_t a, int32_t b, int32_t *out)
+{
+ vnx1024si v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx1024si *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int16_t vnx2048hi __attribute__ ((vector_size (2048 * 2)));
+
+/*
+** f_vnx2048hi:
+** ...
+** vsetvli\s+[atx][0-9]+,\s*zero,\s*e32,\s*m8,\s*ta,\s*ma
+** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx2048hi (int16_t a, int16_t b, int16_t *out)
+{
+ vnx2048hi v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx2048hi *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx16di __attribute__ ((vector_size (16 * 8)));
+
+/*
+** f_vnx16di:
+** vsetivli\s+zero,\s*16,\s*e64,\s*m8,\s*ta,\s*ma
+** ...
+** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+** ...
+** vmv\.s\.x\s+v0,\s*[axt][0-9]+
+** vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0
+** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx16di (int64_t a, int64_t b, int64_t *out)
+{
+ vnx16di v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx16di *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+typedef double vnx16df __attribute__ ((vector_size (16 * 8)));
+
+/*
+** f_vnx16df:
+** vsetivli\s+zero,\s*16,\s*e64,\s*m8,\s*ta,\s*ma
+** ...
+** vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+
+** ...
+** vmv\.s\.x\s+v0,\s*[axt][0-9]+
+** vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0
+** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx16df (double a, double b, double *out)
+{
+ vnx16df v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx16df *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+#include <stdint-gcc.h>
+
+typedef int64_t vnx16di __attribute__ ((vector_size (16 * 8)));
+
+/*
+** f_vnx16di:
+** vsetivli\s+zero,\s*16,\s*e64,\s*m1,\s*ta,\s*ma
+** ...
+** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+
+** ...
+** vmv\.s\.x\s+v0,\s*[axt][0-9]+
+** vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0
+** vs1r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx16di (int64_t a, int64_t b, int64_t *out)
+{
+ vnx16di v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx16di *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */
+/* { dg-final { check-function-bodies "**" "" } } */
+
+typedef double vnx16df __attribute__ ((vector_size (16 * 8)));
+
+/*
+** f_vnx16df:
+** vsetivli\s+zero,\s*16,\s*e64,\s*m1,\s*ta,\s*ma
+** ...
+** vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+
+** ...
+** vmv\.s\.x\s+v0,\s*[axt][0-9]+
+** vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0
+** vs1r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\)
+** ret
+*/
+__attribute__ ((noipa)) void
+f_vnx16df (double a, double b, double *out)
+{
+ vnx16df v = {
+ a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b,
+ };
+ *(vnx16df *) out = v;
+}
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256qi, int8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512qi, int8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024qi, int8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (
+ v2048qi, int8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v4096qi, int8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256uqi, uint8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512uqi, uint8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024uqi, uint8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (
+ v2048uqi, uint8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v4096uqi, uint8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4hi, int16_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256hi, int16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512hi, int16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024hi, int16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (
+ v2048hi, int16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4uhi, uint16_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1)
+DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256uhi, uint16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512uhi, uint16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024uhi, uint16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (
+ v2048uhi, uint16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4si, int32_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8si, int32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16si, int32_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32si, int32_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64si, int32_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128si, int32_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256si, int32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512si, int32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024si, int32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4usi, uint32_t, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1)
+DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256usi, uint32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512usi, uint32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024usi, uint32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v16di, int64_t, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32di, int64_t, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64di, int64_t, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128di, int64_t, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256di, int64_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x\s+v0,\s*[atx][0-9]+} 2 } } */
+/* { dg-final { scan-assembler-times {vmv\.s\.x\s+v0,\s*[atx][0-9]+} 3 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4hf, _Float16, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256hf, _Float16, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512hf, _Float16, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024hf, _Float16, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (
+ v2048hf, _Float16, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */
--- /dev/null
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
+
+#include "def.h"
+
+DEF_REPEAT (v4sf, float, 4, var0, var1, var0, var1)
+DEF_REPEAT (v8sf, float, 8, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v16sf, float, 16, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (v32sf, float, 32, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1)
+DEF_REPEAT (v64sf, float, 64, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+DEF_REPEAT (v128sf, float, 128, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v256sf, float, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v512sf, float, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1)
+DEF_REPEAT (
+ v1024sf, float, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1,
+ var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0,
+ var1)
+
+/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */
+/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */