RISC-V: Optimize combine sequence by merge approach

gcc/ChangeLog:

	* config/riscv/riscv-v.cc
	(rvv_builder::combine_sequence_use_merge_profitable_p): New function.
	(expand_vector_init_merge_combine_sequence): Ditto.
	(expand_vec_init): Adapt for new optimization.

gcc/testsuite/ChangeLog:

	* gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-1.c: New test.
	* gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge-2.c: New test.
	* gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-1.c: New test.
	* gcc.target/riscv/rvv/autovec/vls-vlmax/combine-merge_run-2.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-1.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-10.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-11.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-12.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-13.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-14.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-2.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-3.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-4.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-5.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-6.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-7.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-8.c: New test.
	* gcc.target/riscv/rvv/autovec/vls/combine-merge-9.c: New test.
This commit is contained in:
Juzhe-Zhong 2023-11-13 19:06:36 +08:00 committed by Pan Li
parent 2794d510b9
commit ed3ce1c3bb
19 changed files with 2031 additions and 1 deletions

View file

@ -415,6 +415,7 @@ public:
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;
bool single_step_npatterns_p () const;
@ -528,6 +529,34 @@ rvv_builder::combine_sequence_use_slideup_profitable_p ()
return leading_ndups == trailing_ndups && trailing_ndups == nelts / 2;
}
/* Return true if it's worthwhile to use merge combine vector with a scalar. */
bool
rvv_builder::combine_sequence_use_merge_profitable_p ()
{
int nelts = full_nelts ().to_constant ();
int leading_ndups = this->count_dups (0, nelts - 1, 1);
int trailing_ndups = this->count_dups (nelts - 1, -1, -1);
int nregs = riscv_get_v_regno_alignment (int_mode ());
if (leading_ndups + trailing_ndups != nelts)
return false;
/* Leading elements num > 255 which exceeds the maximum value
of QImode, we will need to use HImode. */
machine_mode mode;
if (leading_ndups > 255 || nregs > 2)
{
if (!get_vector_mode (HImode, nelts).exists (&mode))
return false;
/* We will need one more AVL/VL toggling vsetvl instruction. */
return leading_ndups > 4 && trailing_ndups > 4;
}
/* { a, a, a, b, b, ... , b } and { b, b, b, a, a, ... , a }
consume 3 slide instructions. */
return leading_ndups > 3 && trailing_ndups > 3;
}
/* Merge the repeating sequence into a single element and return the RTX. */
rtx
rvv_builder::get_merged_repeating_sequence ()
@ -2166,6 +2195,49 @@ expand_vector_init_slideup_combine_sequence (rtx target,
emit_vlmax_insn (icode, SLIDEUP_OP_MERGE, ops);
}
/* Use merge approach to merge a scalar into a vector.
v = {a, a, a, a, a, a, b, b}
v1 = {a, a, a, a, a, a, a, a}
scalar = b
mask = {0, 0, 0, 0, 0, 0, 1, 1}
*/
static void
expand_vector_init_merge_combine_sequence (rtx target,
const rvv_builder &builder)
{
machine_mode mode = GET_MODE (target);
machine_mode imode = builder.int_mode ();
machine_mode mmode = builder.mask_mode ();
int nelts = builder.full_nelts ().to_constant ();
int leading_ndups = builder.count_dups (0, nelts - 1, 1);
if ((leading_ndups > 255 && GET_MODE_INNER (imode) == QImode)
|| riscv_get_v_regno_alignment (imode) > 1)
imode = get_vector_mode (HImode, nelts).require ();
/* Generate vid = { 0, 1, 2, ..., n }. */
rtx vid = gen_reg_rtx (imode);
expand_vec_series (vid, const0_rtx, const1_rtx);
/* Generate mask. */
rtx mask = gen_reg_rtx (mmode);
insn_code icode = code_for_pred_cmp_scalar (imode);
rtx index = gen_int_mode (leading_ndups - 1, builder.inner_int_mode ());
rtx dup_rtx = gen_rtx_VEC_DUPLICATE (imode, index);
/* vmsgtu.vi/vmsgtu.vx. */
rtx cmp = gen_rtx_fmt_ee (GTU, mmode, vid, dup_rtx);
rtx sel = builder.elt (nelts - 1);
rtx mask_ops[] = {mask, cmp, vid, index};
emit_vlmax_insn (icode, COMPARE_OP, mask_ops);
/* Duplicate the first elements. */
rtx dup = expand_vector_broadcast (mode, builder.elt (0));
/* Merge scalar into vector according to mask. */
rtx merge_ops[] = {target, dup, sel, mask};
icode = code_for_pred_merge_scalar (mode);
emit_vlmax_insn (icode, MERGE_OP, merge_ops);
}
/* Initialize register TARGET from the elements in PARALLEL rtx VALS. */
void
@ -2215,7 +2287,22 @@ expand_vec_init (rtx target, rtx vals)
return;
}
/* TODO: We will support more Initialization of vector in the future. */
/* Case 4: Optimize combine sequence.
E.g. v = {a, a, a, a, a, a, a, a, a, a, a, b, b, b, b, b}.
Generate vector:
v = {a, a, a, a, a, a, a, a, a, a, a, a, a, a, a, a}.
Generate mask:
mask = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1}.
Merge b into v by mask:
v = {a, a, a, a, a, a, a, a, a, a, a, b, b, b, b, b}. */
if (v.combine_sequence_use_merge_profitable_p ())
{
expand_vector_init_merge_combine_sequence (target, v);
return;
}
}
/* Handle common situation by vslide1down. This function can handle any

View file

@ -0,0 +1,18 @@
/* { dg-do compile } */
/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */
#include <stdint-gcc.h>
typedef double vnx16df __attribute__ ((vector_size (128)));
__attribute__ ((noipa)) void
f_vnx16df (double a, double b, double *out)
{
vnx16df v = {a, a, a, a, a, b, b, b, b, b, b, b, b, b, b, b};
*(vnx16df *) out = v;
}
/* { dg-final { scan-assembler-times {vfmv\.v\.f} 1 } } */
/* { dg-final { scan-assembler-times {vid\.v} 1 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 1 } } */
/* { dg-final { scan-assembler-times {vfmerge\.vfm} 1 } } */

View file

@ -0,0 +1,18 @@
/* { dg-do compile } */
/* { dg-additional-options "-march=rv64gcv -mabi=lp64d" } */
#include <stdint-gcc.h>
typedef int64_t vnx16di __attribute__ ((vector_size (128)));
__attribute__ ((noipa)) void
f_vnx16di (int64_t a, int64_t b, int64_t *out)
{
vnx16di v = {a, a, a, a, a, b, b, b, b, b, b, b, b, b, b, b};
*(vnx16di *) out = v;
}
/* { dg-final { scan-assembler-times {vmv\.v\.x} 1 } } */
/* { dg-final { scan-assembler-times {vid\.v} 1 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 1 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 1 } } */

View file

@ -0,0 +1,30 @@
/* { dg-do run { target { riscv_v } } } */
/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */
#include "combine-merge-1.c"
int
main ()
{
double a = -1789089.23423;
double b = -8916156.45644;
double v_vnx16df[sizeof (vnx16df) / sizeof (double)];
f_vnx16df (a, b, v_vnx16df);
for (int i = 0; i < sizeof (vnx16df) / sizeof (double); i++)
{
if (i < 5)
{
if (v_vnx16df[i] != a)
__builtin_abort ();
}
else
{
if (v_vnx16df[i] != b)
__builtin_abort ();
}
}
return 0;
}

View file

@ -0,0 +1,30 @@
/* { dg-do run { target { riscv_v } } } */
/* { dg-options "--param riscv-autovec-preference=fixed-vlmax -O3" } */
#include "combine-merge-2.c"
int
main ()
{
int64_t a = -1789089;
int64_t b = 8916156;
int64_t v_vnx16di[sizeof (vnx16di) / sizeof (int64_t)];
f_vnx16di (a, b, v_vnx16di);
for (int i = 0; i < sizeof (vnx16di) / sizeof (int64_t); i++)
{
if (i < 5)
{
if (v_vnx16di[i] != a)
__builtin_abort ();
}
else
{
if (v_vnx16di[i] != b)
__builtin_abort ();
}
}
return 0;
}

View file

@ -0,0 +1,179 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16qi, int8_t, 16, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (v32qi, int8_t, 32, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1)
DEF_REPEAT (v64qi, int8_t, 64, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1)
DEF_REPEAT (v128qi, int8_t, 128, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v256qi, int8_t, 256, var0, var0, var0, var0, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v512qi, int8_t, 512, var0, var0, var0, var0, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v1024qi, int8_t, 1024, var0, var0, var0, var0, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1)
/* { dg-final { scan-assembler-times {vmv\.v\.x} 7 } } */
/* { dg-final { scan-assembler-times {vid\.v} 7 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 7 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 7 } } */

View file

@ -0,0 +1,98 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16si, int32_t, 16, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v32si, int32_t, 32, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v64si, int32_t, 64, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var0, var0, var0, var0)
DEF_REPEAT (v128si, int32_t, 128, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v256si, int32_t, 256, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v512si, int32_t, 512, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
/* { dg-final { scan-assembler-times {vmv\.v\.x} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu} 6 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 6 } } */

View file

@ -0,0 +1,98 @@
/* { 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, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v32di, int64_t, 32, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v64di, int64_t, 64, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var0, var0, var0, var0)
DEF_REPEAT (v128di, int64_t, 128, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v256di, int64_t, 256, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v512di, int64_t, 512, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
/* { dg-final { scan-assembler-times {vmv\.v\.x} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu} 6 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 6 } } */

View file

@ -0,0 +1,178 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16hf, _Float16, 16, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v32hf, _Float16, 32, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v64hf, _Float16, 64, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var0, var0, var0, var0)
DEF_REPEAT (v128hf, _Float16, 128, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v256hf, _Float16, 256, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v512hf, _Float16, 512, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v1024hf, _Float16, 1024, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0,
var0, var0, var0, var0, var0)
/* { dg-final { scan-assembler-times {vfmv\.v\.f} 7 } } */
/* { dg-final { scan-assembler-times {vid\.v} 7 } } */
/* { dg-final { scan-assembler-times {vmsgtu} 7 } } */
/* { dg-final { scan-assembler-times {vfmerge\.vfm} 7 } } */

View file

@ -0,0 +1,98 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16sf, float, 16, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v32sf, float, 32, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v64sf, float, 64, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var0, var0, var0, var0)
DEF_REPEAT (v128sf, float, 128, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v256sf, float, 256, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v512sf, float, 512, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
/* { dg-final { scan-assembler-times {vfmv\.v\.f} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu} 6 } } */
/* { dg-final { scan-assembler-times {vfmerge\.vfm} 6 } } */

View file

@ -0,0 +1,98 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16df, double, 16, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v32df, double, 32, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v64df, double, 64, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var0, var0, var0, var0)
DEF_REPEAT (v128df, double, 128, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v256df, double, 256, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v512df, double, 512, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
/* { dg-final { scan-assembler-times {vfmv\.v\.f} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu} 6 } } */
/* { dg-final { scan-assembler-times {vfmerge\.vfm} 6 } } */

View file

@ -0,0 +1,97 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16hi, int16_t, 16, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (v32hi, int16_t, 32, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1)
DEF_REPEAT (v64hi, int16_t, 64, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1)
DEF_REPEAT (v128hi, int16_t, 128, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v256hi, int16_t, 256, var0, var0, var0, var0, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v512hi, int16_t, 512, var0, var0, var0, var0, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1)
/* { dg-final { scan-assembler-times {vmv\.v\.x} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 6 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 6 } } */

View file

@ -0,0 +1,97 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16si, int32_t, 16, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (v32si, int32_t, 32, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1)
DEF_REPEAT (v64si, int32_t, 64, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1)
DEF_REPEAT (v128si, int32_t, 128, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v256si, int32_t, 256, var0, var0, var0, var0, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v512si, int32_t, 512, var0, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1)
/* { dg-final { scan-assembler-times {vmv\.v\.x} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 6 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 6 } } */

View file

@ -0,0 +1,97 @@
/* { 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, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (v32di, int64_t, 32, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1)
DEF_REPEAT (v64di, int64_t, 64, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1)
DEF_REPEAT (v128di, int64_t, 128, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v256di, int64_t, 256, var0, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v512di, int64_t, 512, var0, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1)
/* { dg-final { scan-assembler-times {vmv\.v\.x} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 6 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 6 } } */

View file

@ -0,0 +1,98 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16hf, _Float16, 16, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (v32hf, _Float16, 32, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1)
DEF_REPEAT (v64hf, _Float16, 64, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1)
DEF_REPEAT (v128hf, _Float16, 128, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v256hf, _Float16, 256, var0, var0, var0, var0, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v512hf, _Float16, 512, var0, var0, var0, var0, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1)
/* { dg-final { scan-assembler-times {vfmv\.v\.f} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 6 } } */
/* { dg-final { scan-assembler-times {vfmerge\.vfm} 6 } } */

View file

@ -0,0 +1,97 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16sf, float, 16, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (v32sf, float, 32, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1)
DEF_REPEAT (v64sf, float, 64, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1)
DEF_REPEAT (v128sf, float, 128, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v256sf, float, 256, var0, var0, var0, var0, var0, var0, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v512sf, float, 512, var0, var0, var0, var0, var0, var0, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1)
/* { dg-final { scan-assembler-times {vfmv\.v\.f} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 6 } } */
/* { dg-final { scan-assembler-times {vfmerge\.vfm} 6 } } */

View file

@ -0,0 +1,97 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16df, double, 16, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (v32df, double, 32, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1)
DEF_REPEAT (v64df, double, 64, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1)
DEF_REPEAT (v128df, double, 128, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v256df, double, 256, var0, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1)
DEF_REPEAT (
v512df, double, 512, var0, var0, var0, var0, var0, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1)
/* { dg-final { scan-assembler-times {vfmv\.v\.f} 6 } } */
/* { dg-final { scan-assembler-times {vid\.v} 6 } } */
/* { dg-final { scan-assembler-times {vmsgtu\.vi} 6 } } */
/* { dg-final { scan-assembler-times {vfmerge\.vfm} 6 } } */

View file

@ -0,0 +1,337 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16qi, int8_t, 16, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v32qi, int8_t, 32, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v64qi, int8_t, 64, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var0, var0, var0, var0)
DEF_REPEAT (v128qi, int8_t, 128, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v256qi, int8_t, 256, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v512qi, int8_t, 512, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v1024qi, int8_t, 1024, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0,
var0, var0, var0, var0, var0)
DEF_REPEAT (
v2048qi, int8_t, 2048, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
/* { dg-final { scan-assembler-times {vmv\.v\.x} 8 } } */
/* { dg-final { scan-assembler-times {vid\.v} 8 } } */
/* { dg-final { scan-assembler-times {vmsgtu} 8 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 8 } } */

View file

@ -0,0 +1,178 @@
/* { dg-do compile } */
/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */
#include "def.h"
DEF_REPEAT (v16hi, int16_t, 16, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v32hi, int16_t, 32, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var0, var0, var0, var0, var0, var0)
DEF_REPEAT (v64hi, int16_t, 64, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var0, var0, var0, var0)
DEF_REPEAT (v128hi, int16_t, 128, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v256hi, int16_t, 256, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v512hi, int16_t, 512, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var0, var0, var0, var0, var0, var0)
DEF_REPEAT (
v1024hi, int16_t, 1024, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1,
var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var1, var0,
var0, var0, var0, var0, var0)
/* { dg-final { scan-assembler-times {vmv\.v\.x} 7 } } */
/* { dg-final { scan-assembler-times {vid\.v} 7 } } */
/* { dg-final { scan-assembler-times {vmsgtu} 7 } } */
/* { dg-final { scan-assembler-times {vmerge\.vxm} 7 } } */