From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) by sourceware.org (Postfix) with ESMTPS id 8B8EB3858D20 for ; Wed, 15 Nov 2023 07:12:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8B8EB3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8B8EB3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=198.175.65.9 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700032370; cv=none; b=hueWAr7GBFNAHCX5Sx1xTj2a44mZpaWpxlltywOHs4y5T6ykxhGrY9Vd79N0EKMo5SOwertcDMCGyDtSxDj39UYGOzuqe5pvjIUQrbfu7mdYjQpY0yufjLxiwal8n+A64dvKkzEC0rbWboIRxcckStNGWBUeLeAhhxeZuVPU5No= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700032370; c=relaxed/simple; bh=xsLPhXN2nwzI3ZqYH8Cxh4zDC5RD2logTRUnni2cR70=; h=DKIM-Signature:From:To:Subject:Date:Message-Id:MIME-Version; b=oZlEfcEWZ/vCJ+g8vCQyT+IhbFGmjt/SYEr9t0TtEusEbbMCzZ6vd6tfsBcy+NuEdbswW1mA6q0ZYTfn7G6iACvELFKAqCzTmG8ViX4qXpBNV/VnLJFHtuiSweKRVO79Y9WCPRrS7uT0HowyC+W+qft+QZcxTUucctrpFODeFrU= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1700032364; x=1731568364; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=xsLPhXN2nwzI3ZqYH8Cxh4zDC5RD2logTRUnni2cR70=; b=G4dN9TESvMpBJ4cNAVmhu+cSUE9uzarfanPou5ElVqU+B1zNOlH0G051 gWsVJ01kfZmlfEPWpi+tUIwrzpGsupraHaomOsNXpiX/4H8FbobeKYnrU Yaij1JvszVkCD+sw/hzLoQJ0IO1c0vS/6suJnVZxagPdsgquf7fSSw/1Q Z2W+dcBmRcsEiZCCSO59ZCujkBMGG+w5oogSP22xled7liopxU80u8iTK 2R1VIddbaWZ5GmjT608tXRGlxOZr5YMviRI1xEqZkSflyEF+NqeEqT0JF TRzxc32nfgCbAsvQgadXXsC+/GO6/ggluzx13qS9/VEFi/FAkBxtsMPB1 Q==; X-IronPort-AV: E=McAfee;i="6600,9927,10894"; a="9462723" X-IronPort-AV: E=Sophos;i="6.03,304,1694761200"; d="scan'208";a="9462723" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Nov 2023 23:12:42 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10894"; a="758408027" X-IronPort-AV: E=Sophos;i="6.03,304,1694761200"; d="scan'208";a="758408027" Received: from shvmail02.sh.intel.com ([10.239.244.9]) by orsmga007.jf.intel.com with ESMTP; 14 Nov 2023 23:12:38 -0800 Received: from pli-ubuntu.sh.intel.com (pli-ubuntu.sh.intel.com [10.239.159.47]) by shvmail02.sh.intel.com (Postfix) with ESMTP id 78B5B1005503; Wed, 15 Nov 2023 15:12:37 +0800 (CST) From: pan2.li@intel.com To: gcc-patches@gcc.gnu.org Cc: juzhe.zhong@rivai.ai, pan2.li@intel.com, yanzhang.wang@intel.com, kito.cheng@gmail.com Subject: [PATCH v2] RISC-V: Refine the mask generation for vec_init case 2 Date: Wed, 15 Nov 2023 15:12:36 +0800 Message-Id: <20231115071236.1250103-1-pan2.li@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20231115034801.979185-1-pan2.li@intel.com> References: <20231115034801.979185-1-pan2.li@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,KAM_NUMSUBJECT,KAM_SHORT,SCC_10_SHORT_WORD_LINES,SCC_20_SHORT_WORD_LINES,SCC_35_SHORT_WORD_LINES,SCC_5_SHORT_WORD_LINES,SPF_HELO_NONE,SPF_NONE,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: From: Pan Li Update in v2: 1. Add more test cases for fixed-vlmax. 2, Add test cases for vls mode. Original log: We take vec_init element int mode when generate the mask for case 2. But actually we don't need as many bits as the element. The extra bigger mode may introduce some unnecessary insns. For example as below code: typedef int64_t v16di __attribute__ ((vector_size (16 * 8))); void __attribute__ ((noinline, noclone)) foo (int64_t *out, int64_t x, int64_t y) { v16di v = {y, x, y, x, y, x, y, x, y, x, y, x, y, x, y, x}; *(v16di *) out = v; } We will have VDImode when generate the 0b0101010101010101 mask but actually VHImode is good enough here. This patch would like to refine the mask generation to avoid: 1. Unnecessary scalar to generate big constant mask. 2. Unnecessary vector insn to v0 mask. Before this patch: foo: li a5,-1431654400 li a4,-1431654400 <== unnecessary insn addi a5,a5,-1365 <== unnecessary insn addi a4,a4,-1366 slli a5,a5,32 <== unnecessary insn add a5,a5,a4 <== unnecessary insn vsetivli zero,16,e64,m8,ta,ma vmv.v.x v8,a2 vmv.s.x v16,a5 vmv1r.v v0,v16 <== unnecessary insn vmerge.vxm v8,v8,a1,v0 vse64.v v8,0(a0) ret After this patch: foo: li a5,-20480 addiw a5,a5,-1366 vsetivli zero,16,e64,m8,ta,ma vmv.s.x v0,a5 vmv.v.x v8,a2 vmerge.vxm v8,v8,a1,v0 vs8r.v v8,0(a0) ret gcc/ChangeLog: * config/riscv/riscv-v.cc (rvv_builder::get_merge_scalar_mask): Add inner_mode mask arg for mask int mode. (get_repeating_sequence_dup_machine_mode): Add mask_bit_mode arg to get the good enough vector int mode on precision. (expand_vector_init_merge_repeating_sequence): Pass required args to above func. gcc/testsuite/ChangeLog: * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c: New test. * gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c: New test. * gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c: New test. Signed-off-by: Pan Li --- gcc/config/riscv/riscv-v.cc | 54 +- .../vls-vlmax/init-repeat-sequence-10.c | 28 + .../vls-vlmax/init-repeat-sequence-11.c | 26 + .../vls-vlmax/init-repeat-sequence-12.c | 279 ++++++++ .../vls-vlmax/init-repeat-sequence-13.c | 57 ++ .../vls-vlmax/init-repeat-sequence-14.c | 87 +++ .../vls-vlmax/init-repeat-sequence-15.c | 151 ++++ .../vls-vlmax/init-repeat-sequence-6.c | 27 + .../vls-vlmax/init-repeat-sequence-7.c | 25 + .../vls-vlmax/init-repeat-sequence-8.c | 27 + .../vls-vlmax/init-repeat-sequence-9.c | 25 + .../rvv/autovec/vls/init-repeat-sequence-0.c | 654 ++++++++++++++++++ .../rvv/autovec/vls/init-repeat-sequence-1.c | 654 ++++++++++++++++++ .../rvv/autovec/vls/init-repeat-sequence-2.c | 337 +++++++++ .../rvv/autovec/vls/init-repeat-sequence-3.c | 337 +++++++++ .../rvv/autovec/vls/init-repeat-sequence-4.c | 178 +++++ .../rvv/autovec/vls/init-repeat-sequence-5.c | 178 +++++ .../rvv/autovec/vls/init-repeat-sequence-6.c | 55 ++ .../rvv/autovec/vls/init-repeat-sequence-7.c | 337 +++++++++ .../rvv/autovec/vls/init-repeat-sequence-8.c | 178 +++++ 20 files changed, 3682 insertions(+), 12 deletions(-) create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c create mode 100644 gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c diff --git a/gcc/config/riscv/riscv-v.cc b/gcc/config/riscv/riscv-v.cc index 265a298f447..ffb645eccf3 100644 --- a/gcc/config/riscv/riscv-v.cc +++ b/gcc/config/riscv/riscv-v.cc @@ -416,7 +416,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; + rtx get_merge_scalar_mask (unsigned int, machine_mode) const; bool single_step_npatterns_p () const; bool npatterns_all_equal_p () const; @@ -592,7 +592,8 @@ rvv_builder::get_merged_repeating_sequence () To merge "b", the mask should be 0101.... */ rtx -rvv_builder::get_merge_scalar_mask (unsigned int index_in_pattern) const +rvv_builder::get_merge_scalar_mask (unsigned int index_in_pattern, + machine_mode inner_mode) const { unsigned HOST_WIDE_INT mask = 0; unsigned HOST_WIDE_INT base_mask = (1ULL << index_in_pattern); @@ -611,7 +612,7 @@ rvv_builder::get_merge_scalar_mask (unsigned int index_in_pattern) const for (int i = 0; i < limit; i++) mask |= base_mask << (i * npatterns ()); - return gen_int_mode (mask, inner_int_mode ()); + return gen_int_mode (mask, inner_mode); } /* Return true if the variable-length vector is single step. @@ -919,17 +920,45 @@ emit_vlmax_decompress_insn (rtx target, rtx op0, rtx op1, rtx mask) /* Emit merge instruction. */ static machine_mode -get_repeating_sequence_dup_machine_mode (const rvv_builder &builder) +get_repeating_sequence_dup_machine_mode (const rvv_builder &builder, + machine_mode mask_bit_mode) { - poly_uint64 dup_nunits = GET_MODE_NUNITS (builder.mode ()); + unsigned mask_precision = GET_MODE_PRECISION (mask_bit_mode).to_constant (); + unsigned mask_scalar_size = mask_precision > builder.inner_bits_size () + ? builder.inner_bits_size () : mask_precision; - if (known_ge (GET_MODE_SIZE (builder.mode ()), BYTES_PER_RISCV_VECTOR)) + scalar_mode inner_mode; + unsigned minimal_bits_size; + + switch (mask_scalar_size) { - dup_nunits = exact_div (BYTES_PER_RISCV_VECTOR, - builder.inner_bytes_size ()); + case 8: + inner_mode = QImode; + minimal_bits_size = TARGET_MIN_VLEN / 8; /* AKA RVVMF8. */ + break; + case 16: + inner_mode = HImode; + minimal_bits_size = TARGET_MIN_VLEN / 4; /* AKA RVVMF4. */ + break; + case 32: + inner_mode = SImode; + minimal_bits_size = TARGET_MIN_VLEN / 2; /* AKA RVVMF2. */ + break; + case 64: + inner_mode = DImode; + minimal_bits_size = TARGET_MIN_VLEN / 1; /* AKA RVVM1. */ + break; + default: + gcc_unreachable (); + break; } - return get_vector_mode (builder.inner_int_mode (), dup_nunits).require (); + gcc_assert (mask_precision % mask_scalar_size == 0); + + uint64_t dup_nunit = mask_precision > mask_scalar_size + ? mask_precision / mask_scalar_size : minimal_bits_size / mask_scalar_size; + + return get_vector_mode (inner_mode, dup_nunit).require (); } /* Expand series const vector. */ @@ -2130,9 +2159,9 @@ expand_vector_init_merge_repeating_sequence (rtx target, since we don't have such instruction in RVV. Instead, we should use INT mode (QI/HI/SI/DI) with integer move instruction to generate the mask data we want. */ - machine_mode mask_int_mode - = get_repeating_sequence_dup_machine_mode (builder); machine_mode mask_bit_mode = get_mask_mode (builder.mode ()); + machine_mode mask_int_mode + = get_repeating_sequence_dup_machine_mode (builder, mask_bit_mode); uint64_t full_nelts = builder.full_nelts ().to_constant (); /* Step 1: Broadcast the first pattern. */ @@ -2143,7 +2172,8 @@ expand_vector_init_merge_repeating_sequence (rtx target, for (unsigned int i = 1; i < builder.npatterns (); i++) { /* Step 2-1: Generate mask register v0 for each merge. */ - rtx merge_mask = builder.get_merge_scalar_mask (i); + rtx merge_mask + = builder.get_merge_scalar_mask (i, GET_MODE_INNER (mask_int_mode)); rtx mask = gen_reg_rtx (mask_bit_mode); rtx dup = gen_reg_rtx (mask_int_mode); diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c new file mode 100644 index 00000000000..ccce5052dc2 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-10.c @@ -0,0 +1,28 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include + +typedef int64_t vnx32di __attribute__ ((vector_size (32 * 8))); + +/* +** f_vnx32di: +** vsetvli\s+[axt][0-9]+,\s*zero,\s*e64,\s*m2,\s*ta,\s*ma +** ... +** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+ +** ... +** vmv\.s\.x\s+v0,\s*[axt][0-9]+ +** vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0 +** vs2r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx32di (int64_t a, int64_t b, int64_t *out) +{ + vnx32di v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx32di *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c new file mode 100644 index 00000000000..a62eee8a5ae --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-11.c @@ -0,0 +1,26 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +typedef double vnx32df __attribute__ ((vector_size (32 * 8))); + +/* +** f_vnx32df: +** vsetvli\s+[axt][0-9]+\s*,zero,\s*e64,\s*m2,\s*ta,\s*ma +** ... +** vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+ +** ... +** vmv\.s\.x\s+v0,\s*[axt][0-9]+ +** vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0 +** vs2r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx32df (double a, double b, double *out) +{ + vnx32df v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx32df *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c new file mode 100644 index 00000000000..92cf29985d5 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-12.c @@ -0,0 +1,279 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include + +typedef int8_t vnx4096qi __attribute__ ((vector_size (4096))); + +/* +** f_vnx4096qi: +** ... +** vsetvli\s+[axt][0-9]+,\s*zero,\s*e16,\s*m8,\s*ta,\s*ma +** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+ +** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx4096qi (int8_t a, int8_t b, int8_t *out) +{ + vnx4096qi v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx4096qi *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c new file mode 100644 index 00000000000..e3ec3a106f7 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-13.c @@ -0,0 +1,57 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include + +typedef int64_t vnx512di __attribute__ ((vector_size (512 * 8))); + +/* +** f_vnx512di: +** ... +** vsetivli\s+zero,\s*8,\s*e64,\s*m1,\s*ta,\s*ma +** vmv\.v\.x\s+v0,[atx][0-9]+ +** vsetvli\s+[atx][0-9]+,\s*zero,\s*e64,\s*m8,\s*ta,\s*ma +** vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0 +** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx512di (int64_t a, int64_t b, int64_t *out) +{ + vnx512di v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx512di *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c new file mode 100644 index 00000000000..23a4ea68b34 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-14.c @@ -0,0 +1,87 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include + +typedef int32_t vnx1024si __attribute__ ((vector_size (1024 * 4))); + +/* +** f_vnx1024si: +** ... +** vsetvli\s+[atx][0-9]+,\s*zero,\s*e64,\s*m8,\s*ta,\s*ma +** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+ +** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx1024si (int32_t a, int32_t b, int32_t *out) +{ + vnx1024si v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx1024si *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c new file mode 100644 index 00000000000..37c08a1c328 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-15.c @@ -0,0 +1,151 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl4096b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include + +typedef int16_t vnx2048hi __attribute__ ((vector_size (2048 * 2))); + +/* +** f_vnx2048hi: +** ... +** vsetvli\s+[atx][0-9]+,\s*zero,\s*e32,\s*m8,\s*ta,\s*ma +** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+ +** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx2048hi (int16_t a, int16_t b, int16_t *out) +{ + vnx2048hi v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx2048hi *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c new file mode 100644 index 00000000000..4f8a78b3161 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-6.c @@ -0,0 +1,27 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include + +typedef int64_t vnx16di __attribute__ ((vector_size (16 * 8))); + +/* +** f_vnx16di: +** vsetivli\s+zero,\s*16,\s*e64,\s*m8,\s*ta,\s*ma +** ... +** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+ +** ... +** vmv\.s\.x\s+v0,\s*[axt][0-9]+ +** vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0 +** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx16di (int64_t a, int64_t b, int64_t *out) +{ + vnx16di v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx16di *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c new file mode 100644 index 00000000000..f0d14db8fa8 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-7.c @@ -0,0 +1,25 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +typedef double vnx16df __attribute__ ((vector_size (16 * 8))); + +/* +** f_vnx16df: +** vsetivli\s+zero,\s*16,\s*e64,\s*m8,\s*ta,\s*ma +** ... +** vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+ +** ... +** vmv\.s\.x\s+v0,\s*[axt][0-9]+ +** vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0 +** vs8r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx16df (double a, double b, double *out) +{ + vnx16df v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx16df *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c new file mode 100644 index 00000000000..fd986e6b649 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-8.c @@ -0,0 +1,27 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +#include + +typedef int64_t vnx16di __attribute__ ((vector_size (16 * 8))); + +/* +** f_vnx16di: +** vsetivli\s+zero,\s*16,\s*e64,\s*m1,\s*ta,\s*ma +** ... +** vmv\.v\.x\s+v[0-9]+,\s*[axt][0-9]+ +** ... +** vmv\.s\.x\s+v0,\s*[axt][0-9]+ +** vmerge\.vxm\s+v[0-9]+,\s*v[0-9]+,\s*[axt][0-9]+,\s*v0 +** vs1r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx16di (int64_t a, int64_t b, int64_t *out) +{ + vnx16di v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx16di *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c new file mode 100644 index 00000000000..753221ffdbf --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls-vlmax/init-repeat-sequence-9.c @@ -0,0 +1,25 @@ +/* { dg-do compile } */ +/* { dg-additional-options "-march=rv64gcv_zvl1024b -mabi=lp64d -fno-schedule-insns -fno-schedule-insns2" } */ +/* { dg-final { check-function-bodies "**" "" } } */ + +typedef double vnx16df __attribute__ ((vector_size (16 * 8))); + +/* +** f_vnx16df: +** vsetivli\s+zero,\s*16,\s*e64,\s*m1,\s*ta,\s*ma +** ... +** vfmv\.v\.f\s+v[0-9]+,\s*[af]+[0-9]+ +** ... +** vmv\.s\.x\s+v0,\s*[axt][0-9]+ +** vfmerge\.vfm\s+v[0-9]+,\s*v[0-9]+,\s*[af]+[0-9]+,\s*v0 +** vs1r\.v\s+v[0-9]+,\s*0\([axt][0-9]+\) +** ret +*/ +__attribute__ ((noipa)) void +f_vnx16df (double a, double b, double *out) +{ + vnx16df v = { + a, b, a, b, a, b, a, b, a, b, a, b, a, b, a, b, + }; + *(vnx16df *) out = v; +} diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c new file mode 100644 index 00000000000..9bb21d7ab18 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-0.c @@ -0,0 +1,654 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4qi, int8_t, 4, var0, var1, var0, var1) +DEF_REPEAT (v8qi, int8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v16qi, int8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32qi, int8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v64qi, int8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT (v128qi, int8_t, 128, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256qi, int8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v512qi, int8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v1024qi, int8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT ( + v2048qi, int8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v4096qi, int8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c new file mode 100644 index 00000000000..e5934ac382c --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-1.c @@ -0,0 +1,654 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v4uqi, uint8_t, 4, var0, var1, var0, var1) +DEF_REPEAT (v8uqi, uint8_t, 8, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v16uqi, uint8_t, 16, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32uqi, uint8_t, 32, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v64uqi, uint8_t, 64, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT (v128uqi, uint8_t, 128, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256uqi, uint8_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v512uqi, uint8_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v1024uqi, uint8_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT ( + v2048uqi, uint8_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v4096uqi, uint8_t, 4096, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x} 11 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c new file mode 100644 index 00000000000..7b30e2b5c75 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-2.c @@ -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 (v4hi, int16_t, 4, var0, var1, var0, var1) +DEF_REPEAT (v8hi, int16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v16hi, int16_t, 16, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32hi, int16_t, 32, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v64hi, int16_t, 64, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT (v128hi, int16_t, 128, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256hi, int16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v512hi, int16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v1024hi, int16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT ( + v2048hi, int16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c new file mode 100644 index 00000000000..d3efc9aca3d --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-3.c @@ -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 (v4uhi, uint16_t, 4, var0, var1, var0, var1) +DEF_REPEAT (v8uhi, uint16_t, 8, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v16uhi, uint16_t, 16, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32uhi, uint16_t, 32, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1) +DEF_REPEAT (v64uhi, uint16_t, 64, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v128uhi, uint16_t, 128, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256uhi, uint16_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v512uhi, uint16_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v1024uhi, uint16_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT ( + v2048uhi, uint16_t, 2048, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c new file mode 100644 index 00000000000..a9d1e87965e --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-4.c @@ -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 (v4si, int32_t, 4, var0, var1, var0, var1) +DEF_REPEAT (v8si, int32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v16si, int32_t, 16, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32si, int32_t, 32, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v64si, int32_t, 64, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT (v128si, int32_t, 128, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256si, int32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v512si, int32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v1024si, int32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c new file mode 100644 index 00000000000..b528c8036b9 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-5.c @@ -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 (v4usi, uint32_t, 4, var0, var1, var0, var1) +DEF_REPEAT (v8usi, uint32_t, 8, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v16usi, uint32_t, 16, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32usi, uint32_t, 32, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1) +DEF_REPEAT (v64usi, uint32_t, 64, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v128usi, uint32_t, 128, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256usi, uint32_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v512usi, uint32_t, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v1024usi, uint32_t, 1024, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c new file mode 100644 index 00000000000..5c36d86e0cf --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-6.c @@ -0,0 +1,55 @@ +/* { dg-do compile } */ +/* { dg-options "-march=rv64gcv_zvfh_zvl4096b -mabi=lp64d -O3 --param=riscv-autovec-lmul=m8" } */ + +#include "def.h" + +DEF_REPEAT (v16di, int64_t, 16, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32di, int64_t, 32, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v64di, int64_t, 64, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT (v128di, int64_t, 128, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256di, int64_t, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x\s+v0,\s*[atx][0-9]+} 2 } } */ +/* { dg-final { scan-assembler-times {vmv\.s\.x\s+v0,\s*[atx][0-9]+} 3 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c new file mode 100644 index 00000000000..1087b60ab29 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-7.c @@ -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 (v4hf, _Float16, 4, var0, var1, var0, var1) +DEF_REPEAT (v8hf, _Float16, 8, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v16hf, _Float16, 16, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32hf, _Float16, 32, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v64hf, _Float16, 64, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT (v128hf, _Float16, 128, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256hf, _Float16, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v512hf, _Float16, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v1024hf, _Float16, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT ( + v2048hf, _Float16, 2048, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x} 10 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ diff --git a/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c new file mode 100644 index 00000000000..f0d40dfa700 --- /dev/null +++ b/gcc/testsuite/gcc.target/riscv/rvv/autovec/vls/init-repeat-sequence-8.c @@ -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 (v4sf, float, 4, var0, var1, var0, var1) +DEF_REPEAT (v8sf, float, 8, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v16sf, float, 16, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT (v32sf, float, 32, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1) +DEF_REPEAT (v64sf, float, 64, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) +DEF_REPEAT (v128sf, float, 128, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v256sf, float, 256, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v512sf, float, 512, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1) +DEF_REPEAT ( + v1024sf, float, 1024, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, + var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, var1, var0, + var1) + +/* { dg-final { scan-assembler-times {vmv\.v\.x} 9 } } */ +/* { dg-final { scan-assembler-not {vmv1r\.v\s+v0,\s*v[0-9]+} } } */ -- 2.34.1