From patchwork Mon Mar 20 04:29:15 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "juzhe.zhong@rivai.ai" X-Patchwork-Id: 71969 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a5d:604a:0:0:0:0:0 with SMTP id j10csp1011636wrt; Sun, 19 Mar 2023 21:30:14 -0700 (PDT) X-Google-Smtp-Source: AK7set+wYTWqkvej0iJ0WXaekYjyhq4w2BuD7/WeOA8VTLIRZmFZLV3dm53lzzuZ2AM+C4pXJl7X X-Received: by 2002:aa7:de03:0:b0:4fa:9a9d:94e with SMTP id h3-20020aa7de03000000b004fa9a9d094emr11126511edv.2.1679286614261; Sun, 19 Mar 2023 21:30:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679286614; cv=none; d=google.com; s=arc-20160816; b=B+JleP8URLygKvsZZd86l/5+cN2hkju3tPbU/FSqp3Xp0FfhN/g9hQv1AvywXH0WIW QmHOGPdmAjKkqd4WyjRTiQvTjjz0Tb8eT4WEwIWiy0UBiLBnSfpeziAVw06r2Vad5tnY iheJEM3N+MDxPDstvtVp1HuH8PpA9q7t4n2Ao7nxqxaUM6Za6lBKEvBpR25yJyAM53wE VYV1+8MNsLlo6s9Ecc0E+5SuBqeFhkYFOenHIO2w2zwX6bmv/5xLzdxN3CRuwTPBZ89+ 8QN4zqABDxZ7mUe1+tA9+AHlpbpZxYNfwdkCKRyCU5VV5+gtOcTqF3wK+pLw3nFSaSLz WVWw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:feedback-id :content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dmarc-filter:delivered-to; bh=syxOjYRg+QTIGG99IrZ5xIvPPQ5TSPjcRTfg3IebGzE=; b=Om8gSBx86RYTqMnwqTRyYEEE6zyxZzX1mi66q0DJWcTUGuuB17JRq1gdPaVOERgEF1 SM9hc5CxpgbEQzOd3nZz1xiZwPNroofAFVvo/qJ5g4oH/Ykl62/hhiFKDGAvURe/bTgN 1/RrVl8ekHxHSqpF1CexfeSL80QjYrxqF0dGBmJDI/jg24Mcc7VL6vBLKjZvrHeeQX19 IX21S0IKxBm0prnNtU53oMqEf6SfBL3aDlp/yOmu4UqzMZvKZAfSE6yGUer6A4DMywYS T6MjJbgFGsvlKaiDZFaylscaTf5iAjhTJVhzzbsOjLvFCNDONKZ+zHB+7er6MsuWKFwC 1i5w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id 27-20020a170906005b00b008cf961a7be1si8473021ejg.830.2023.03.19.21.30.13 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 19 Mar 2023 21:30:14 -0700 (PDT) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 601D63851142 for ; Mon, 20 Mar 2023 04:30:05 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbg153.qq.com (smtpbg153.qq.com [13.245.218.24]) by sourceware.org (Postfix) with ESMTPS id 069723858C53 for ; Mon, 20 Mar 2023 04:29:30 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 069723858C53 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp73t1679286561tr1lllln Received: from server1.localdomain ( [58.60.1.22]) by bizesmtp.qq.com (ESMTP) with id ; Mon, 20 Mar 2023 12:29:20 +0800 (CST) X-QQ-SSF: 01400000000000E0N000000A0000000 X-QQ-FEAT: zT6n3Y95oi3OMJ1nr3n2wDzXePQ2gk+TMJ6xXnFu6A2ZlMIhOvw+2BC98XVB5 Qi/HBqDPlzssiAh7Tmwipy1bNQoHx4enaRXKbWF52+jDsamdH9DHrJisjDFMOrMtpU6S+fu snQsY3vZdKZWzLmYrVBbZnfro2X4k8wnmY9hpk2hy5bdTEBQ92Ukt+t9NuTQRk1AbUhUMn5 ZdUKHdmgVgexw3DopJZd8KXQSXYmYI4KP3v8YLCOxOqQAJ9uUlxKpQI3Q1uhgwDrWnAgQWN AdHBsg+cKve9JiMWfRGMM8ObFGyGxRhnUHAYj9zpxuztmcQG5bsfkwrEUtvBzdxHdTUr8Zd CEvHyfw3CW5TIVaMSUoOUIwT069TpIFU/tqCofD8jbTYwkoilhE2wx63UQQxy76ycT6lX1J X-QQ-GoodBg: 2 From: juzhe.zhong@rivai.ai To: gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com, Ju-Zhe Zhong Subject: [PATCH] RISC-V: Fix RVV ICE && runtine fail Date: Mon, 20 Mar 2023 12:29:15 +0800 Message-Id: <20230320042915.140622-1-juzhe.zhong@rivai.ai> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvr:qybglogicsvr7 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SCC_10_SHORT_WORD_LINES, SCC_20_SHORT_WORD_LINES, SCC_35_SHORT_WORD_LINES, SCC_5_SHORT_WORD_LINES, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1760859640950904661?= X-GMAIL-MSGID: =?utf-8?q?1760859640950904661?= From: Ju-Zhe Zhong gcc/ChangeLog: * config/riscv/riscv-vsetvl.cc (eliminate_insn): Fix bugs. (insert_vsetvl): Ditto. (pass_vsetvl::emit_local_forward_vsetvls): Ditto. * config/riscv/riscv-vsetvl.h (enum vsetvl_type): Ditto. * config/riscv/vector.md: Ditto. gcc/testsuite/ChangeLog: * g++.target/riscv/rvv/base/bug-16.C: New test. * g++.target/riscv/rvv/base/bug-17.C: New test. --- gcc/config/riscv/riscv-vsetvl.cc | 31 +- gcc/config/riscv/riscv-vsetvl.h | 1 + gcc/config/riscv/vector.md | 4 +- .../g++.target/riscv/rvv/base/bug-16.C | 443 ++++++++++++++++++ .../g++.target/riscv/rvv/base/bug-17.C | 406 ++++++++++++++++ 5 files changed, 876 insertions(+), 9 deletions(-) create mode 100644 gcc/testsuite/g++.target/riscv/rvv/base/bug-16.C create mode 100644 gcc/testsuite/g++.target/riscv/rvv/base/bug-17.C diff --git a/gcc/config/riscv/riscv-vsetvl.cc b/gcc/config/riscv/riscv-vsetvl.cc index f4c1773da0d..b5f5301ea43 100644 --- a/gcc/config/riscv/riscv-vsetvl.cc +++ b/gcc/config/riscv/riscv-vsetvl.cc @@ -686,7 +686,7 @@ eliminate_insn (rtx_insn *rinsn) delete_insn (rinsn); } -static void +static vsetvl_type insert_vsetvl (enum emit_type emit_type, rtx_insn *rinsn, const vector_insn_info &info, const vector_insn_info &prev_info) { @@ -697,14 +697,14 @@ insert_vsetvl (enum emit_type emit_type, rtx_insn *rinsn, { emit_vsetvl_insn (VSETVL_VTYPE_CHANGE_ONLY, emit_type, info, NULL_RTX, rinsn); - return; + return VSETVL_VTYPE_CHANGE_ONLY; } if (info.has_avl_imm ()) { emit_vsetvl_insn (VSETVL_DISCARD_RESULT, emit_type, info, NULL_RTX, rinsn); - return; + return VSETVL_DISCARD_RESULT; } if (info.has_avl_no_reg ()) @@ -716,14 +716,14 @@ insert_vsetvl (enum emit_type emit_type, rtx_insn *rinsn, { emit_vsetvl_insn (VSETVL_VTYPE_CHANGE_ONLY, emit_type, info, NULL_RTX, rinsn); - return; + return VSETVL_VTYPE_CHANGE_ONLY; } /* Otherwise use an AVL of 0 to avoid depending on previous vl. */ vl_vtype_info new_info = info; new_info.set_avl_info (avl_info (const0_rtx, nullptr)); emit_vsetvl_insn (VSETVL_DISCARD_RESULT, emit_type, new_info, NULL_RTX, rinsn); - return; + return VSETVL_DISCARD_RESULT; } /* Use X0 as the DestReg unless AVLReg is X0. We also need to change the @@ -735,7 +735,7 @@ insert_vsetvl (enum emit_type emit_type, rtx_insn *rinsn, rtx vl_op = info.get_avl_reg_rtx (); gcc_assert (!vlmax_avl_p (vl_op)); emit_vsetvl_insn (VSETVL_NORMAL, emit_type, info, vl_op, rinsn); - return; + return VSETVL_NORMAL; } emit_vsetvl_insn (VSETVL_DISCARD_RESULT, emit_type, info, NULL_RTX, rinsn); @@ -745,6 +745,7 @@ insert_vsetvl (enum emit_type emit_type, rtx_insn *rinsn, fprintf (dump_file, "Update VL/VTYPE info, previous info="); prev_info.dump (dump_file); } + return VSETVL_DISCARD_RESULT; } /* If X contains any LABEL_REF's, add REG_LABEL_OPERAND notes for them @@ -2760,6 +2761,7 @@ pass_vsetvl::emit_local_forward_vsetvls (const bb_info *bb) for (insn_info *insn : bb->real_nondebug_insns ()) { const vector_insn_info prev_info = curr_info; + enum vsetvl_type type = NUM_VSETVL_TYPE; transfer_before (curr_info, insn); if (has_vtype_op (insn->rtl ())) @@ -2771,10 +2773,25 @@ pass_vsetvl::emit_local_forward_vsetvls (const bb_info *bb) = m_vector_manager->vector_insn_infos[insn->uid ()]; if (!require.compatible_p ( static_cast (prev_info))) - insert_vsetvl (EMIT_BEFORE, insn->rtl (), require, prev_info); + type = insert_vsetvl (EMIT_BEFORE, insn->rtl (), require, + prev_info); } } + /* Fix the issue of following sequence: + vsetivli zero, 5 + .... + vsetvli zero, zero + vmv.x.s (demand AVL = 8). + .... + incorrect: vsetvli zero, zero ===> Since the curr_info is AVL = 8. + correct: vsetivli zero, 8 + vadd (demand AVL = 8). */ + if (type == VSETVL_VTYPE_CHANGE_ONLY) + { + /* Update the curr_info to be real correct AVL. */ + curr_info.set_avl_info (prev_info.get_avl_info ()); + } transfer_after (curr_info, insn); } diff --git a/gcc/config/riscv/riscv-vsetvl.h b/gcc/config/riscv/riscv-vsetvl.h index 887ff1bdec8..237381f7026 100644 --- a/gcc/config/riscv/riscv-vsetvl.h +++ b/gcc/config/riscv/riscv-vsetvl.h @@ -31,6 +31,7 @@ enum vsetvl_type VSETVL_NORMAL, VSETVL_VTYPE_CHANGE_ONLY, VSETVL_DISCARD_RESULT, + NUM_VSETVL_TYPE }; enum emit_type diff --git a/gcc/config/riscv/vector.md b/gcc/config/riscv/vector.md index c100407d9fa..96dc1af5a3d 100644 --- a/gcc/config/riscv/vector.md +++ b/gcc/config/riscv/vector.md @@ -6999,7 +6999,7 @@ (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE) (match_operand:VI_QHS 2 "vector_merge_operand" " vu, 0, vu, 0") (match_operand:VI_QHS 3 "register_operand" " vr, vr, vr, vr") - (match_operand: 4 "reg_or_0_operand" " rK, rK, rK, rK")] VSLIDES1))] + (match_operand: 4 "reg_or_0_operand" " rJ, rJ, rJ, rJ")] VSLIDES1))] "TARGET_VECTOR" "vslide.vx\t%0,%3,%z4%p1" [(set_attr "type" "vislide") @@ -7040,7 +7040,7 @@ (reg:SI VTYPE_REGNUM)] UNSPEC_VPREDICATE) (match_operand:VI_D 2 "vector_merge_operand" " vu, 0, vu, 0") (match_operand:VI_D 3 "register_operand" " vr, vr, vr, vr") - (match_operand: 4 "reg_or_0_operand" " rK, rK, rK, rK")] VSLIDES1))] + (match_operand: 4 "reg_or_0_operand" " rJ, rJ, rJ, rJ")] VSLIDES1))] "TARGET_VECTOR" "vslide.vx\t%0,%3,%z4%p1" [(set_attr "type" "vislide") diff --git a/gcc/testsuite/g++.target/riscv/rvv/base/bug-16.C b/gcc/testsuite/g++.target/riscv/rvv/base/bug-16.C new file mode 100644 index 00000000000..cc5d7fe9398 --- /dev/null +++ b/gcc/testsuite/g++.target/riscv/rvv/base/bug-16.C @@ -0,0 +1,443 @@ +/* { dg-do run } */ +/* { dg-options "-O2" } */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include"riscv_vector.h" +using std::addressof; +using std::cerr; +using std::endl; +using std::int8_t; +using std::int16_t; +using std::int32_t; +using std::int64_t; +using std::uint8_t; +using std::uint16_t; +using std::uint32_t; +using std::uint64_t; +using std::ptrdiff_t; +using std::size_t; +using float16_t = _Float16; +using float32_t = float; +using float64_t = double; + +template +constexpr T uint_to_float(T2 val) noexcept +{ + return *reinterpret_cast(&val); +} + +constexpr const auto &f16(uint_to_float); +constexpr const auto &f32(uint_to_float); +constexpr const auto &f64(uint_to_float); + +template +struct To_uint +{ + using type = std::conditional_t< + sizeof(T) == 1, uint8_t, std::conditional_t< + sizeof(T) == 2, uint16_t, std::conditional_t< + sizeof(T) == 4, uint32_t, std::conditional_t< + sizeof(T) == 8, uint64_t, void + > + > + > + >; +}; + +// isnan() does not support half type +template +struct To_float +{ + using type = std::conditional_t< + std::is_same::value, float, std::conditional_t< + std::is_same::value, float, std::conditional_t< + std::is_same::value, double, float + > + > + >; +}; + +template +using To_uint_t = typename To_uint::type; + +template +using To_isnan_float = typename To_float::type; + +template +void print_float(std::ostream &os, T val) +{ + using std::setw; + os << std::hex << std::setfill('0') << setw(sizeof(T) * 2) << *reinterpret_cast*>(addressof(val)) << setw(0) << std::dec; +} + +template +bool __attribute__((noinline)) +check(const T *a, const T *b, size_t size) +{ + bool rv = true; + for (size_t i = 0; i < (size / sizeof(T)); ++i) { + if (reinterpret_cast *>(a)[i] == + reinterpret_cast *>(b)[i]) + continue; + // floating negative zero == positive zero + if ((std::is_floating_point_v || std::is_same::value) && + (a[i] == b[i])) + continue; + // if both result are NaN, return true + if ((std::is_same::value || std::is_floating_point_v) && + std::isnan(static_cast>(a[i])) && + std::isnan(static_cast>(b[i]))) + continue; + + if (std::is_same::value) { + cerr << std::hex << std::setfill('0') << std::setw(sizeof(T) * 2) << "[" + << i + << "] result/golden:" << reinterpret_cast *>(a)[i] + << " != " << reinterpret_cast *>(b)[i] + << std::setw(0) << std::dec << endl; + } else if constexpr (std::is_floating_point_v) { + cerr << "[" << i << "] result/golden:" << a[i] << "("; + print_float(cerr, a[i]); + cerr << ") != " << b[i] << "("; + print_float(cerr, b[i]); + cerr << ")" << endl; + } else if constexpr (std::is_unsigned_v) { + cerr << "[" << i << "] result/golden: " << static_cast(a[i]) + << " != " << static_cast(b[i]) << endl; + } else { + cerr << "[" << i << "] result/golden:" << static_cast(a[i]) + << " != " << static_cast(b[i]) << endl; + } + rv = false; + } + return rv; +} + +template +bool __attribute__((noinline)) +check(const T a, const T golden) +{ + return check(addressof(a), addressof(golden), sizeof(T)); +} + +int main() +{ +int return_value = 0; + +size_t var_134 = 120u; +int8_t var_133 [] = {15, -2, 0, 0, -1, 0, 0, -2, 18, 0, 1, 0, 2, 10, 2, 0, 0, -9, 0, 0, 0, 0, 1, 0, 31, 2, 0, -5, 0, 3, -2, -17, -12, 0, 0, -1, 1, 47, -1, 0, 0, -1, 33, 0, 0, 1, 0, 0, -10, 0, 0, 61, 18, -3, 0, -1, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 0, -59, 0, 0, 55, 0, 11, 14, 0, 0, 0, 1, 0, 0, 0, -1, 17, 0, 2, 0, 0, -5, -1, 1, 0, 1, 6, 0, 0, 107, 0, 7, 0, 0, 0, 5, 7, 0, 0, 0, -1, 0, 0, -8, 0, 0, 0, -1, 0, -8, 1, 0, 0}; +size_t var_131 = 9u; +int8_t var_130 [] = {60, -103, -44, -1, -43, 1, 0, -107, 72}; +size_t var_128 = 38u; +int8_t var_127 [] = {44, 40, 108, -73, 76, -34, -25, 4, 54, 94, -10, -29, 12, 116, -121, -32, 30, 61, 127, 16, -34, -95, -90, 124, -4, 12, 124, 18, 123, -37, -56, -119, 9, 12, 57, 30, -20, 29}; +size_t var_125 = 98u; +uint8_t var_124 [] = {53u, 28u, 220u, 181u, 243u, 150u, 238u, 37u, 119u, 182u, 29u, 252u, 15u, 156u, 34u, 201u, 75u, 149u, 173u, 112u, 255u, 58u, 51u, 176u, 22u, 103u, 44u, 150u, 225u, 31u, 190u, 70u, 125u, 112u, 57u, 3u, 191u, 131u, 48u, 89u, 168u, 58u, 104u, 228u, 15u, 80u, 128u, 101u, 161u, 132u, 24u, 17u, 113u, 126u, 25u, 23u, 93u, 18u, 241u, 203u, 255u, 142u, 113u, 233u, 129u, 137u, 248u, 173u, 40u, 23u, 161u, 100u, 242u, 77u, 206u, 18u, 162u, 57u, 44u, 215u, 2u, 43u, 61u, 116u, 166u, 21u, 188u, 74u, 234u, 245u, 45u, 44u, 17u, 240u, 46u, 58u, 89u, 254u}; +size_t var_122 = 31u; +int8_t var_121 [] = {41, 69, -57, 102, 86, 103, -128, 4, -118, -1, 109, 40, 7, 27, 79, -63, 35, 73, 1, 42, -85, 126, 107, 53, -114, 39, 53, 10, -94, -20, 125}; +int8_t var_119 [] = {-52, 85, -58, 27, 110, -67, -54, 4, -100, 95, -74, -42, -123, -17, -71, -112, 119, -22, -4, -77, -118, -10, 30, -74, 0, 103, -122, 124, 59, -99, 78, -46, -52, 94, 14, -74, -97, 25, -59, 3, 68, -15, -60, 83, 80, -113, -90, -118, 7, -38, -57, -114, 88, -76, 8, 44, 45, 12, -27, 83, 43, 77, -93, 79, 6, -17, 93, 33, 22, 6, 113, -5, -13, 20, -106, -36, -57, -21, -127, -89, 102, -62, -92, -124, 73, 118, 41, -120, 94, -100, 13, -34, -86, -103, 26, -57, -16, 22, -48, -71, 15, 40, 27, -125, -94, -93, -93, -3, -33, 60, 15, -29, -16, 70, -15, 30, 108, -105, 30, -65}; +uint8_t var_118 [] = {197u, 206u, 42u, 228u, 104u, 250u, 255u, 186u}; +uint8_t var_117 [] = {72u, 6u, 85u, 22u, 128u, 73u, 137u, 137u}; +int8_t var_116 [] = {-120, -102, 100, 49, -110, -76, -69, -31}; +float64_t var_115 [] = {f64(323207751474600524u), f64(1112891795445475562u), f64(6854607033647765885u), f64(832190058329784671u), f64(11148526509635847059u), f64(12649416344049588294u), f64(4028395243010811234u), f64(14477107254519158798u)}; +// 4.6405235952544706e-287, 2.796915483405209e-234, 1.683358637102254e+150, 4.864756940016232e-253, -5.6687651516926024e-180, -1.1703726495306743e-79, 2.1797047987439956e-39, -1.7434285356776356e+43 + +float64_t var_114 [] = {f64(6662394577642063664u), f64(5311186693252893574u), f64(703524307981821023u), f64(10715555053454551221u), f64(1397370713219650317u), f64(2519636160457044144u), f64(2428017200744904391u), f64(8871119969217150037u)}; +// 2.509669398494079e+137, 1.2060594553171986e+47, 1.2334815861468122e-261, -6.478620247525537e-209, 2.967271500782844e-215, 3.089416451843403e-140, 2.258590162692108e-146, 1.061330842742021e+285 + +uint32_t var_113 [] = {2501167418u, 4078952301u, 1289692095u, 3288851377u, 1031645594u, 2454418038u, 4057122694u, 4195826215u}; +uint32_t var_112 [] = {997394066u, 745676460u, 1302867668u, 2496350675u, 681303275u, 2256531569u, 197606396u, 782587620u}; +int32_t var_111 [] = {-1370843403, -1083808177, -2046227556, 1248210267, -995484329, 1657636018, 139507966, -406999593}; +int8_t var_110 [] = {41, 69, -57, 102, 86, 103, -128, 4, -118, -1, 109, 40, 7, 27, 79, -63, 35, 73, 1, 42, -85, 126, 107, 53, -114, 39, 53, 10, -94, -20, 125}; +int8_t var_109 [] = {92, 35, 58, -53, 94, -103, 114, 32, 39, 76, 104, 103, -20, 29, -103, -123, 4, -107, -21, 127, 58, -93, 14, 68, -77, -65, 101, 20, -75, 72, 5}; +int8_t var_108 [] = {-50, -3, -122, 11, -110, -106, -120, -117, -27, 49, 99, -33, 2, -37, -91, -10, 101, -24, -95, -24, 115, 84, -114, 67, 27, -44, -122, -28, 108, 107, 41}; +int8_t var_107 [] = {-78, 56, -90, 72, 16, 80, -71, -95, 3, 65, -116, 44, 54, 69, 22, -23, -10, 79, -1, 31, 114, 87, -57, -65, -61, 15, 32, 68, 76, 1, -46}; +uint8_t var_106 [] = {53u, 28u, 220u, 181u, 243u, 150u, 238u, 37u, 119u, 182u, 29u, 252u, 15u, 156u, 34u, 201u, 75u, 149u, 173u, 112u, 255u, 58u, 51u, 176u, 22u, 103u, 44u, 150u, 225u, 31u, 190u, 70u, 125u, 112u, 57u, 3u, 191u, 131u, 48u, 89u, 168u, 58u, 104u, 228u, 15u, 80u, 128u, 101u, 161u, 132u, 24u, 17u, 113u, 126u, 25u, 23u, 93u, 18u, 241u, 203u, 255u, 142u, 113u, 233u, 129u, 137u, 248u, 173u, 40u, 23u, 161u, 100u, 242u, 77u, 206u, 18u, 162u, 57u, 44u, 215u, 2u, 43u, 61u, 116u, 166u, 21u, 188u, 74u, 234u, 245u, 45u, 44u, 17u, 240u, 46u, 58u, 89u, 254u}; +uint8_t var_105 [] = {209u, 83u, 95u, 215u, 76u, 0u, 235u, 22u, 155u, 169u, 210u, 242u, 234u, 53u, 32u, 126u, 93u, 184u, 196u, 33u, 22u, 134u, 227u, 172u, 199u, 228u, 214u, 157u, 66u, 115u, 127u, 221u, 124u, 108u, 92u, 162u, 252u, 129u, 63u, 134u, 158u, 250u, 204u, 112u, 21u, 16u, 226u, 178u, 92u, 168u, 144u, 59u, 51u, 112u, 132u, 84u, 199u, 149u, 212u, 177u, 93u, 15u, 191u, 34u, 226u, 61u, 116u, 240u, 144u, 157u, 35u, 0u, 253u, 152u, 16u, 130u, 93u, 228u, 212u, 34u, 175u, 77u, 11u, 228u, 138u, 216u, 215u, 154u, 16u, 55u, 130u, 241u, 70u, 88u, 202u, 232u, 167u, 227u}; +uint8_t var_104 [] = {51u, 198u, 54u, 22u, 54u, 109u, 241u, 76u, 225u, 21u, 43u, 183u, 71u, 250u, 207u, 44u, 152u, 213u, 120u, 189u, 216u, 199u, 160u, 137u, 139u, 156u, 242u, 195u, 203u, 157u, 173u, 238u, 36u, 236u, 14u, 66u, 233u, 220u, 212u, 206u, 88u, 160u, 94u, 235u, 46u, 107u, 124u, 71u, 244u, 166u, 151u, 133u, 4u, 253u, 133u, 158u, 21u, 209u, 239u, 228u, 236u, 153u, 230u, 9u, 68u, 166u, 227u, 8u, 188u, 160u, 107u, 71u, 176u, 135u, 33u, 234u, 227u, 37u, 237u, 185u, 136u, 79u, 111u, 252u, 190u, 236u, 95u, 246u, 251u, 46u, 114u, 142u, 231u, 150u, 52u, 158u, 216u, 61u}; +int8_t var_103 [] = {44, 40, 108, -73, 76, -34, -25, 4, 54, 94, -10, -29, 12, 116, -121, -32, 30, 61, 127, 16, -34, -95, -90, 124, -4, 12, 124, 18, 123, -37, -56, -119, 9, 12, 57, 30, -20, 29}; +int8_t var_102 [] = {-58, -3, 95, -113, -26, 109, 85, 110, -122, -108, 101, -113, 126, 80, -87, 88, 60, 124, -63, -128, -21, 118, 81, 124, 60, -103, 127, 70, 57, -19, 53, 51, -120, 33, -64, 119, 43, -34}; +int8_t var_101 [] = {-22, -28, 99, -74, 40, -90, 17, -3, -110, -53, 80, -84, -114, 82, 112, 77, -54, -113, -87, 64, 106, 92, 120, 48, 25, -14, -19, 81, -98, -124, -58, -80, 6, 58, 108, 83, -69, -112}; +int8_t var_100 [] = {46, 12, 5, 10, 55, 46, -54, -96, -12, -10, 121, -30, -5, 60, -76, -51, -87, 107, -54, -18, 112, -64, 46, 120, -5, -119, 30, -48, -51, 53, 108}; +uint8_t var_99 [] = {130u, 12u, 38u, 148u, 237u, 176u, 183u, 136u, 155u, 156u, 201u, 58u, 26u, 167u, 105u, 117u, 25u, 125u, 29u, 163u, 29u, 169u, 151u, 180u, 73u, 173u, 94u, 121u, 183u, 48u, 208u}; +uint8_t var_98 [] = {106u, 19u, 146u, 9u, 203u, 31u, 179u, 218u, 11u, 232u, 232u, 222u, 18u, 225u, 23u, 42u, 106u, 243u, 33u, 148u, 255u, 162u, 155u, 141u, 69u, 223u, 200u, 252u, 15u, 137u, 148u}; +uint8_t var_97 [] = {169u, 101u, 247u, 228u, 25u, 209u, 126u, 155u, 250u, 136u, 194u, 138u, 145u, 248u, 73u, 129u, 113u, 84u, 187u, 38u, 199u, 246u, 203u, 87u, 216u, 198u, 112u, 192u, 134u, 171u, 42u, 93u, 133u, 7u, 224u, 21u, 201u, 53u, 23u, 53u, 115u, 218u, 190u, 133u, 200u, 46u, 173u, 144u, 159u, 21u, 11u, 146u, 13u, 76u, 255u, 107u, 126u, 108u, 27u, 163u, 113u, 57u, 85u, 237u, 243u, 47u, 242u, 40u, 206u, 107u, 191u, 11u, 34u, 210u, 143u, 214u, 164u, 192u, 59u, 144u, 78u, 91u, 2u, 105u, 109u, 58u, 63u, 204u, 39u, 66u, 158u, 135u, 205u, 68u, 114u, 10u, 233u, 113u, 181u, 184u, 16u, 170u, 226u, 212u, 91u, 136u, 41u, 159u, 143u, 78u, 26u, 246u, 63u, 221u, 192u, 150u, 238u, 128u, 128u, 46u}; +int8_t var_96 [] = {-4, -35, -62, -104, -17, -25, -117, 125, -44, 20, 37, 46, 40, -95, 41, 70, 1, 71, -35, -60, 107, -68, 102, -102, -71, 52, 34, -111, -120, 107, -56, -103, 77, -63, -48, 90, 46, -111, -68, -38, 3, -110, 104, 82, -85, -102, 63, 54, 85, -7, 38, -36, 70, -95, 99, -78, 33, -86, 109, 2, -45, -83, -90, 16, -43, 101, -99, -32, -97, 73, -28, 90, -103, -34, -107, -51, 126, -98, -11, 0, 41, -83, 92, -10, -38, 97, -65, -27, -92, 17, 127, -127, 81, -6, -45, -38, -48, 30, 33, 35, 106, -44, 122, -8, 84, 1, -13, -67, -78, 90, -68, 92, 97, -103, -68, -17, 10, 28, -54, 9}; +int8_t var_95 [] = {-90, -98, -55, 68, -7, -5, -21, -60, 92, -66, 103, 39, -50, 35, -28, -110, -23, 114, -40, -125, -123, -83, -59, 33, -56, 56, -19, -15, 33, 69, -76, -28, 97, 107, 55, -126, 61, 25, -69, 44, 65, -61, 14, -62, -121, -82, -106, -28, 17, 109, 66, -114, 74, -40, -94, 69, 19, -96, 88, -59, -68, -86, -97, -6, -107, 27, 26, 10, 95, -9, 80, -80, 19, -31, 102, 29, 37, -88, -86, 38, 59, 77, 110, 101, -126, -1, -28, -96, -25, 74, 76, 48, 77, 127, 100, 82, -64, 50, 22, -87, -17, 122, 106, 65, 36, 121, -38, 20, 123, -118, 0, -124, 30, 122, 79, -91, 107, -126, -113, -126}; +int8_t var_94 [] = {-16, 42, -87, 90, 66, -72, 84, -76, -107, 14, -58, 48, 86, 89, -10, -122, -2, 39, 42, 124, 120, 105, 100, -121, 20, 56, -25, 65, 57, -30, -109, 8, 22, -52, 126, -30, -6, 101, -22, -14, 41, 41, 118, -124, -83, -42, 47, -105, -10, -34, -83, 25, 66, 125, -17, 125, -41, 69, 116, 39, -73, -76, -44, 107, -32, -90, 86, 108, -101, 35, 100, 55, 2, -123, 87, -57, 6, -120, -93, -45, -115, -37, -18, 3, -9, -41, 64, 79, 0, -109, 15, 86, 28, -98, 118, -95, 36, 71, -123, -14, 68, 120, 118, -123, 118, 54, -59, 63, 118, 6, -1, -48, 32, 84, -76, -67, 67, 101, -61, -3}; +int8_t var_93 [] = {60, -103, -44, 107, -43, -39, -85, -107, 72, 37, 1, -30, 3, 77, 110, -21, -1, -69, -4, 55, 63, -104, -12, 107, 122, 79, -62, -38, 21, 24, -52, -34, -94, 67, -127, 0, 74, 93, -85, -12, -15, -10, 65, -89, -104, 122, 19, -29, -78, -12, 104, 121, 73, -111, -40, -57, 82, -74, -72, 54, -102, 105, 54, -106, 39, 127, -67, -53, -59, -3, 67, 55, -40, 11, 114, -59, -57, -123, -28, -8, -106, -65, -37, 33, 54, 96, 66, -27, -37, -47, 35, -55, 52, 102, 110, 107, 107, 89, 107, 93, 3, -6, 84, 113, -82, 57, 17, -3, 59, -125, -17, 47, -93, -80, -99, 111, -125, 18, 36, 75}; +int8_t var_92 [] = {-90, 39, -97, 115, -95, -84, -45, -93, -13, -1, -119, -61, 125, -78, -3, -35, 19, 28, -109, 83, -10, 103, -77, -13, -17, 91, -108, -64, -106, 49, 75, 85, 63, -49, -41, 102, 103, -22, 43, -29, -79, -45, -63, 9, -85, -92, 66, 23, 88, 29, -16, -35, 14, 62, -79, 26, -83, 38, 88, -103, -39, 84, -2, 125, 20, -15, -68, -31, -104, -99, -2, -125, -36, -101, -101, -89, 58, -1, -127, 124, 19, 1, 94, 30, 102, -43, 56, 26, 89, 121, 61, -7, 92, 109, 108, 5, -93, -123, 43, -23, -42, 76, -89, -95, -14, -91, 43, 98, 104, -53, 9, 77, 36, 113, -6, -100, 98, 84, 75, 35}; +int8_t var_91 [] = {90, -121, -65, 27, -14, 45, 4, -40, -70, -94, 20, 70, -121, -49, -23, 16, 124, -65, -74, 104, 77, 47, 71, 80, -35, -123, 59, -94, -43, -4, 127, -33, 88, 2, 53, 22, 101, -21, -10, -15, -41, 126, 66, 108, 27, 117, 1, -83, 89, 109, 114, -31, -107, 27, -77, 101, 16, 88, 93, -74, 99, -11, 32, -35, 124, 31, 118, 124, -87, 4, 13, -64, -26, -98, -10, 8, -101, -37, 121, 28, 1, 49, 36, 97, 29, -3, 65, 28, -96, 72, -67, -92, 126, -15, 53, -90, -124, 11, 59, -91, -127, -112, -111, 125, 98, 51, 45, -127, -115, 13, -107, 25, 28, 74, -53, 76, -28, 108, 18, -94}; +int8_t var_90 [] = {11, 85, -127, 49, 107, -37, 66, 124, 60, -100, 5, 79, 15, -91, 56, -52, -115, 112, -28, -128, -43, -48, 77, 106, 17, 81, 118, 29, -120, -20, 44, 75, 81, -54, -4, -17, 82, 44, 92, 8, -106, 54, 32, -105, -32, 53, -102, -79, 89, -100, -80, -118, 35, 13, -47, 25, 111, -59, -50, 19, -47, -83, 52, -79, -1, 90, 120, -46, 42, 97, -76, 43, -16, -127, 94, 112, -14, -22, -86, 120, -116, 124, 108, 82, -99, 54, 84, -92, 38, 33, 46, -3, 0, -78, -92, -52, 63, -29, 55, -90, -26, -117, 125, 63, 113, 110, 71, -92, -13, -118, 53, 53, 123, -83, 122, -76, 44, 21, 32, -34}; +int8_t var_89 [] = {-75, -70, 31, 76, 120, 116, -76, 95, -96}; +int8_t var_88 [] = {6, 65, 93, -102, 118, -75, 24, -9, 111}; +uint8_t var_87 [] = {120u, 177u, 163u, 176u, 160u, 16u, 235u, 224u, 168u, 198u, 166u, 121u, 182u, 42u, 113u, 93u, 16u, 123u, 174u, 42u, 43u, 205u, 132u, 40u, 88u, 190u, 96u, 11u, 144u, 187u, 111u, 246u, 235u, 75u, 163u, 20u, 163u, 231u, 163u, 94u, 30u, 186u, 167u, 88u, 123u, 130u, 230u, 8u, 203u, 208u, 222u, 231u, 25u, 143u, 40u, 176u, 44u, 182u, 75u, 184u, 167u, 143u, 237u, 182u, 235u, 32u, 81u, 127u, 85u, 219u, 38u, 4u, 45u, 117u, 219u, 234u, 11u, 231u, 103u, 33u, 199u, 214u, 100u, 166u, 23u, 64u, 37u, 234u, 59u, 81u, 111u, 100u, 241u, 204u, 159u, 44u, 196u, 60u, 92u, 90u, 30u, 61u, 252u, 45u, 8u, 121u, 139u, 4u, 144u, 113u, 39u, 28u, 194u, 227u, 98u, 82u, 237u, 15u, 44u, 96u}; +uint8_t var_86 [] = {98u, 184u, 61u, 239u, 240u, 91u, 79u, 194u, 158u, 234u, 4u, 89u, 239u, 124u, 241u, 245u, 124u, 143u, 92u, 94u, 84u, 167u, 223u, 198u, 177u, 178u, 246u, 91u, 22u, 131u, 231u, 12u, 206u, 85u, 215u, 46u, 58u, 146u, 2u, 225u, 251u, 206u, 200u, 104u, 78u, 12u, 189u, 38u, 186u, 162u, 194u, 48u, 75u, 42u, 131u, 81u, 195u, 207u, 58u, 209u, 239u, 164u, 207u, 113u, 87u, 198u, 201u, 40u, 195u, 146u, 5u, 8u, 254u, 248u, 61u, 44u, 254u, 195u, 254u, 100u, 109u, 142u, 156u, 197u, 78u, 169u, 121u, 72u, 158u, 31u, 39u, 235u, 141u, 48u, 205u, 242u, 109u, 113u}; +uint8_t var_85 [] = {128u, 227u, 109u, 98u, 165u, 57u, 151u, 127u, 141u, 112u, 125u, 27u, 13u, 104u, 216u, 83u, 225u, 180u, 211u, 113u, 32u, 194u, 151u, 47u, 81u, 223u, 51u, 145u, 133u, 6u, 120u, 56u, 252u, 40u, 47u, 145u, 214u, 159u, 80u, 253u, 16u, 33u, 36u, 69u, 82u, 20u, 222u, 113u, 144u, 68u, 204u, 207u, 7u, 128u, 142u, 38u, 3u, 142u, 149u, 25u, 91u, 91u, 153u, 64u, 227u, 135u, 222u, 165u, 120u, 56u, 120u, 249u, 233u, 100u, 204u, 127u, 200u, 213u, 145u, 193u, 237u, 3u, 204u, 214u, 116u, 115u, 251u, 64u, 45u, 52u, 72u, 5u, 188u, 219u, 228u, 36u, 238u, 195u}; +int8_t var_84 [] = {87, 92, -88, 10, 92, 105, -7, -9, -62, -103, -20, 10, -44, -98, 69, 54, 29, -99, 46, 19, -13, 57, 50, -93, -87, 112, -14, 65, -62, -75, 27, 119, 54, -42, -98, 9, 29, 16, 32, 90, -126, 87, 28, -96, 21, -11, 9, 60, -58, -126, -58, 103, 15, 108, -38, 100, -42, 70, 125, -92, -118, -101, -18, -61, -115, 0, -29, 94, 113, 107, 86, 121, -96, -27, -45, 101, 89, 60, -6, -61, -78, -18, -76, 43, 122, -19, -47, 42, -4, 100, -59, 77, -110, 74, -42, 0, 126, -25, 95, 120, 47, -94, -77, 48, 47, -55, 82, -127, -99, -79, -101, -16, 117, 46, -67, 39, 60, 61, 16, 93}; +int8_t var_83 [] = {97, 57, 34, -38, 36, -74, -60, 124, -6, 0, -40, 53, 75, -72, -69, -52, 115, -49, -115, -101, -7, 107, -37, 7, -55, 7, 39, -16, -7, -34, -44, -31, -126, -82, -7, -43, 109, -93, 103, 90, 114, -127, 125, -95, -1, 61, 109, -118, 21, 6, -81, 87, 79, -73, -89, 5, 93, 92, -52, 86, 11, 99, 91, 2, 88, -38, 110, 17, -27, -93, 124, 85, 34, 46, -101, 35, 58, 47, -29, 49, -12, 26, -1, 64, 27, 96, -77, 109, -127, -106, -46, -109, -37, 111, -116, -53, 126, 67, 32, 62, 56, -42, -123, 119, -28, 11, -49, -29, -74, -95, 39, -50, -123, 13, -12, 56, -89, 74, -64, -111}; +int8_t var_82 [] = {110, -40, -24, 36, -44, 2, 46, -123, -3, -47, 61, 100, 35, 101, 67, 47, -1, 125, -71, 67, 81, -108, -16, 15, -71, -66, 19, -68, -101, 42, -51, 64, 54, 106, 64, 9, -26, -25, -63, -13, -23, -72, 19, -36, -16, 69, -89, 80, 92, 44, -110, 1, 59, -23, 84, 87, -120, -108, 69, 93, 122, 47, -37, 9, 28, -65, 37, -59, -95, -76, 78, 32, 100, 17, 108, -70, -115, -118, 16, 43, 11, 40, -40, 39, 71, -51, 14, 19, -38, 33, 44, 49, -19, 8, 95, 70, -93, -87}; +int8_t var_81 [] = {-88, -43, 94, -41, -57, 97, -45, -100, 35, 17, -101, -117, 70, 26, -14, 14, 69, 67, -27, 120, -71, 73, 79, 124, 100, -80, 67, 105, -72, 82, -42, -96, -108, -10, 45, -29, -83, 113, 115, -49, -6, -20, -112, 0, 40, 70, -126, -87, -99, -14, -106, -96, 114, 65, 65, -65, -58, -87, 21, 3, -17, -29, 13, -53, -76, 41, 87, 12, -83, 27, -11, -43, 4, 66, -87, 116, 23, -28, 11, -52, 6, -67, -3, 54, 79, 60, -26, -76, -10, 32, 23, -2, 42, 30, 66, 26, 91, -125}; +int8_t var_80 = 118; +int8_t var_79 = -73; +uint8_t var_78 = 99u; +uint8_t var_77 = 17u; +size_t var_76 = 24u; +uint8_t var_75 = 204u; +int8_t var_74 = 17; +int32_t var_73 = -305525697; +uint8_t var_72 = 9u; +int8_t var_71 = 5; +int8_t var_70 = -5; +int8_t var_69 = 126; +__riscv_vsetvl_e8m8(120); +vint8m8_t var_0 = __riscv_vle8_v_i8m8(var_119, 120); +// -52, 85, -58, 27, 110, -67, -54, 4, -100, 95, -74, -42, -123, -17, -71, -112, 119, -22, -4, -77, -118, -10, 30, -74, 0, 103, -122, 124, 59, -99, 78, -46, -52, 94, 14, -74, -97, 25, -59, 3, 68, -15, -60, 83, 80, -113, -90, -118, 7, -38, -57, -114, 88, -76, 8, 44, 45, 12, -27, 83, 43, 77, -93, 79, 6, -17, 93, 33, 22, 6, 113, -5, -13, 20, -106, -36, -57, -21, -127, -89, 102, -62, -92, -124, 73, 118, 41, -120, 94, -100, 13, -34, -86, -103, 26, -57, -16, 22, -48, -71, 15, 40, 27, -125, -94, -93, -93, -3, -33, 60, 15, -29, -16, 70, -15, 30, 108, -105, 30, -65 + +__riscv_vsetvl_e8mf2(8); +vuint8mf2_t var_21 = __riscv_vle8_v_u8mf2(var_118, 8); +// 197, 206, 42, 228, 104, 250, 255, 186 + +vuint8mf2_t var_22 = __riscv_vle8_v_u8mf2(var_117, 8); +// 72, 6, 85, 22, 128, 73, 137, 137 + +vint8mf2_t var_23 = __riscv_vle8_v_i8mf2(var_116, 8); +// -120, -102, 100, 49, -110, -76, -69, -31 + +vfloat64m4_t var_26 = __riscv_vle64_v_f64m4(var_115, 8); +// 4.6405235952544706e-287, 2.796915483405209e-234, 1.683358637102254e+150, 4.864756940016232e-253, -5.6687651516926024e-180, -1.1703726495306743e-79, 2.1797047987439956e-39, -1.7434285356776356e+43 + +vfloat64m4_t var_27 = __riscv_vle64_v_f64m4(var_114, 8); +// 2.509669398494079e+137, 1.2060594553171986e+47, 1.2334815861468122e-261, -6.478620247525537e-209, 2.967271500782844e-215, 3.089416451843403e-140, 2.258590162692108e-146, 1.061330842742021e+285 + +vuint32m2_t var_28 = __riscv_vle32_v_u32m2(var_113, 8); +// 2501167418, 4078952301, 1289692095, 3288851377, 1031645594, 2454418038, 4057122694, 4195826215 + +vuint32m2_t var_29 = __riscv_vle32_v_u32m2(var_112, 8); +// 997394066, 745676460, 1302867668, 2496350675, 681303275, 2256531569, 197606396, 782587620 + +vint32m2_t var_30 = __riscv_vle32_v_i32m2(var_111, 8); +// -1370843403, -1083808177, -2046227556, 1248210267, -995484329, 1657636018, 139507966, -406999593 + +__riscv_vsetvl_e8m8(31); +vint8m8_t var_32 = __riscv_vle8_v_i8m8(var_110, 31); +// 41, 69, -57, 102, 86, 103, -128, 4, -118, -1, 109, 40, 7, 27, 79, -63, 35, 73, 1, 42, -85, 126, 107, 53, -114, 39, 53, 10, -94, -20, 125 + +vint8m8_t var_34 = __riscv_vle8_v_i8m8(var_108, 31); +// -50, -3, -122, 11, -110, -106, -120, -117, -27, 49, 99, -33, 2, -37, -91, -10, 101, -24, -95, -24, 115, 84, -114, 67, 27, -44, -122, -28, 108, 107, 41 + +vint8m8_t var_35 = __riscv_vle8_v_i8m8(var_107, 31); +// -78, 56, -90, 72, 16, 80, -71, -95, 3, 65, -116, 44, 54, 69, 22, -23, -10, 79, -1, 31, 114, 87, -57, -65, -61, 15, 32, 68, 76, 1, -46 + +__riscv_vsetvl_e8m8(98); +vuint8m8_t var_36 = __riscv_vle8_v_u8m8(var_106, 98); +// 53, 28, 220, 181, 243, 150, 238, 37, 119, 182, 29, 252, 15, 156, 34, 201, 75, 149, 173, 112, 255, 58, 51, 176, 22, 103, 44, 150, 225, 31, 190, 70, 125, 112, 57, 3, 191, 131, 48, 89, 168, 58, 104, 228, 15, 80, 128, 101, 161, 132, 24, 17, 113, 126, 25, 23, 93, 18, 241, 203, 255, 142, 113, 233, 129, 137, 248, 173, 40, 23, 161, 100, 242, 77, 206, 18, 162, 57, 44, 215, 2, 43, 61, 116, 166, 21, 188, 74, 234, 245, 45, 44, 17, 240, 46, 58, 89, 254 + +vuint8m8_t var_37 = __riscv_vle8_v_u8m8(var_105, 98); +// 209, 83, 95, 215, 76, 0, 235, 22, 155, 169, 210, 242, 234, 53, 32, 126, 93, 184, 196, 33, 22, 134, 227, 172, 199, 228, 214, 157, 66, 115, 127, 221, 124, 108, 92, 162, 252, 129, 63, 134, 158, 250, 204, 112, 21, 16, 226, 178, 92, 168, 144, 59, 51, 112, 132, 84, 199, 149, 212, 177, 93, 15, 191, 34, 226, 61, 116, 240, 144, 157, 35, 0, 253, 152, 16, 130, 93, 228, 212, 34, 175, 77, 11, 228, 138, 216, 215, 154, 16, 55, 130, 241, 70, 88, 202, 232, 167, 227 + +__riscv_vsetvl_e8m8(38); +vint8m8_t var_39 = __riscv_vle8_v_i8m8(var_103, 38); +// 44, 40, 108, -73, 76, -34, -25, 4, 54, 94, -10, -29, 12, 116, -121, -32, 30, 61, 127, 16, -34, -95, -90, 124, -4, 12, 124, 18, 123, -37, -56, -119, 9, 12, 57, 30, -20, 29 + +vint8m8_t var_40 = __riscv_vle8_v_i8m8(var_102, 38); +// -58, -3, 95, -113, -26, 109, 85, 110, -122, -108, 101, -113, 126, 80, -87, 88, 60, 124, -63, -128, -21, 118, 81, 124, 60, -103, 127, 70, 57, -19, 53, 51, -120, 33, -64, 119, 43, -34 + +__riscv_vsetvl_e8m8(31); +vint8m8_t var_43 = __riscv_vle8_v_i8m8(var_100, 31); +// 46, 12, 5, 10, 55, 46, -54, -96, -12, -10, 121, -30, -5, 60, -76, -51, -87, 107, -54, -18, 112, -64, 46, 120, -5, -119, 30, -48, -51, 53, 108 + +vuint8m8_t var_44 = __riscv_vle8_v_u8m8(var_99, 31); +// 130, 12, 38, 148, 237, 176, 183, 136, 155, 156, 201, 58, 26, 167, 105, 117, 25, 125, 29, 163, 29, 169, 151, 180, 73, 173, 94, 121, 183, 48, 208 + +vuint8m8_t var_45 = __riscv_vle8_v_u8m8(var_98, 31); +// 106, 19, 146, 9, 203, 31, 179, 218, 11, 232, 232, 222, 18, 225, 23, 42, 106, 243, 33, 148, 255, 162, 155, 141, 69, 223, 200, 252, 15, 137, 148 + +__riscv_vsetvl_e8m8(120); +vuint8m8_t var_48 = __riscv_vle8_v_u8m8(var_97, 120); +// 169, 101, 247, 228, 25, 209, 126, 155, 250, 136, 194, 138, 145, 248, 73, 129, 113, 84, 187, 38, 199, 246, 203, 87, 216, 198, 112, 192, 134, 171, 42, 93, 133, 7, 224, 21, 201, 53, 23, 53, 115, 218, 190, 133, 200, 46, 173, 144, 159, 21, 11, 146, 13, 76, 255, 107, 126, 108, 27, 163, 113, 57, 85, 237, 243, 47, 242, 40, 206, 107, 191, 11, 34, 210, 143, 214, 164, 192, 59, 144, 78, 91, 2, 105, 109, 58, 63, 204, 39, 66, 158, 135, 205, 68, 114, 10, 233, 113, 181, 184, 16, 170, 226, 212, 91, 136, 41, 159, 143, 78, 26, 246, 63, 221, 192, 150, 238, 128, 128, 46 + +vint8m8_t var_49 = __riscv_vle8_v_i8m8(var_96, 120); +// -4, -35, -62, -104, -17, -25, -117, 125, -44, 20, 37, 46, 40, -95, 41, 70, 1, 71, -35, -60, 107, -68, 102, -102, -71, 52, 34, -111, -120, 107, -56, -103, 77, -63, -48, 90, 46, -111, -68, -38, 3, -110, 104, 82, -85, -102, 63, 54, 85, -7, 38, -36, 70, -95, 99, -78, 33, -86, 109, 2, -45, -83, -90, 16, -43, 101, -99, -32, -97, 73, -28, 90, -103, -34, -107, -51, 126, -98, -11, 0, 41, -83, 92, -10, -38, 97, -65, -27, -92, 17, 127, -127, 81, -6, -45, -38, -48, 30, 33, 35, 106, -44, 122, -8, 84, 1, -13, -67, -78, 90, -68, 92, 97, -103, -68, -17, 10, 28, -54, 9 + +vint8m8_t var_50 = __riscv_vle8_v_i8m8(var_95, 120); +// -90, -98, -55, 68, -7, -5, -21, -60, 92, -66, 103, 39, -50, 35, -28, -110, -23, 114, -40, -125, -123, -83, -59, 33, -56, 56, -19, -15, 33, 69, -76, -28, 97, 107, 55, -126, 61, 25, -69, 44, 65, -61, 14, -62, -121, -82, -106, -28, 17, 109, 66, -114, 74, -40, -94, 69, 19, -96, 88, -59, -68, -86, -97, -6, -107, 27, 26, 10, 95, -9, 80, -80, 19, -31, 102, 29, 37, -88, -86, 38, 59, 77, 110, 101, -126, -1, -28, -96, -25, 74, 76, 48, 77, 127, 100, 82, -64, 50, 22, -87, -17, 122, 106, 65, 36, 121, -38, 20, 123, -118, 0, -124, 30, 122, 79, -91, 107, -126, -113, -126 + +vint8m8_t var_51 = __riscv_vle8_v_i8m8(var_94, 120); +// -16, 42, -87, 90, 66, -72, 84, -76, -107, 14, -58, 48, 86, 89, -10, -122, -2, 39, 42, 124, 120, 105, 100, -121, 20, 56, -25, 65, 57, -30, -109, 8, 22, -52, 126, -30, -6, 101, -22, -14, 41, 41, 118, -124, -83, -42, 47, -105, -10, -34, -83, 25, 66, 125, -17, 125, -41, 69, 116, 39, -73, -76, -44, 107, -32, -90, 86, 108, -101, 35, 100, 55, 2, -123, 87, -57, 6, -120, -93, -45, -115, -37, -18, 3, -9, -41, 64, 79, 0, -109, 15, 86, 28, -98, 118, -95, 36, 71, -123, -14, 68, 120, 118, -123, 118, 54, -59, 63, 118, 6, -1, -48, 32, 84, -76, -67, 67, 101, -61, -3 + +vint8m8_t var_53 = __riscv_vle8_v_i8m8(var_93, 120); +// 60, -103, -44, 107, -43, -39, -85, -107, 72, 37, 1, -30, 3, 77, 110, -21, -1, -69, -4, 55, 63, -104, -12, 107, 122, 79, -62, -38, 21, 24, -52, -34, -94, 67, -127, 0, 74, 93, -85, -12, -15, -10, 65, -89, -104, 122, 19, -29, -78, -12, 104, 121, 73, -111, -40, -57, 82, -74, -72, 54, -102, 105, 54, -106, 39, 127, -67, -53, -59, -3, 67, 55, -40, 11, 114, -59, -57, -123, -28, -8, -106, -65, -37, 33, 54, 96, 66, -27, -37, -47, 35, -55, 52, 102, 110, 107, 107, 89, 107, 93, 3, -6, 84, 113, -82, 57, 17, -3, 59, -125, -17, 47, -93, -80, -99, 111, -125, 18, 36, 75 + +vint8m8_t var_54 = __riscv_vle8_v_i8m8(var_92, 120); +// -90, 39, -97, 115, -95, -84, -45, -93, -13, -1, -119, -61, 125, -78, -3, -35, 19, 28, -109, 83, -10, 103, -77, -13, -17, 91, -108, -64, -106, 49, 75, 85, 63, -49, -41, 102, 103, -22, 43, -29, -79, -45, -63, 9, -85, -92, 66, 23, 88, 29, -16, -35, 14, 62, -79, 26, -83, 38, 88, -103, -39, 84, -2, 125, 20, -15, -68, -31, -104, -99, -2, -125, -36, -101, -101, -89, 58, -1, -127, 124, 19, 1, 94, 30, 102, -43, 56, 26, 89, 121, 61, -7, 92, 109, 108, 5, -93, -123, 43, -23, -42, 76, -89, -95, -14, -91, 43, 98, 104, -53, 9, 77, 36, 113, -6, -100, 98, 84, 75, 35 + +vint8m8_t var_55 = __riscv_vle8_v_i8m8(var_91, 120); +// 90, -121, -65, 27, -14, 45, 4, -40, -70, -94, 20, 70, -121, -49, -23, 16, 124, -65, -74, 104, 77, 47, 71, 80, -35, -123, 59, -94, -43, -4, 127, -33, 88, 2, 53, 22, 101, -21, -10, -15, -41, 126, 66, 108, 27, 117, 1, -83, 89, 109, 114, -31, -107, 27, -77, 101, 16, 88, 93, -74, 99, -11, 32, -35, 124, 31, 118, 124, -87, 4, 13, -64, -26, -98, -10, 8, -101, -37, 121, 28, 1, 49, 36, 97, 29, -3, 65, 28, -96, 72, -67, -92, 126, -15, 53, -90, -124, 11, 59, -91, -127, -112, -111, 125, 98, 51, 45, -127, -115, 13, -107, 25, 28, 74, -53, 76, -28, 108, 18, -94 + +vint8m8_t var_56 = __riscv_vle8_v_i8m8(var_90, 120); +// 11, 85, -127, 49, 107, -37, 66, 124, 60, -100, 5, 79, 15, -91, 56, -52, -115, 112, -28, -128, -43, -48, 77, 106, 17, 81, 118, 29, -120, -20, 44, 75, 81, -54, -4, -17, 82, 44, 92, 8, -106, 54, 32, -105, -32, 53, -102, -79, 89, -100, -80, -118, 35, 13, -47, 25, 111, -59, -50, 19, -47, -83, 52, -79, -1, 90, 120, -46, 42, 97, -76, 43, -16, -127, 94, 112, -14, -22, -86, 120, -116, 124, 108, 82, -99, 54, 84, -92, 38, 33, 46, -3, 0, -78, -92, -52, 63, -29, 55, -90, -26, -117, 125, 63, 113, 110, 71, -92, -13, -118, 53, 53, 123, -83, 122, -76, 44, 21, 32, -34 + +__riscv_vsetvl_e8m8(9); +vint8m8_t var_57 = __riscv_vle8_v_i8m8(var_89, 9); +// -75, -70, 31, 76, 120, 116, -76, 95, -96 + +__riscv_vsetvl_e8m8(120); +vuint8m8_t var_59 = __riscv_vle8_v_u8m8(var_87, 120); +// 120, 177, 163, 176, 160, 16, 235, 224, 168, 198, 166, 121, 182, 42, 113, 93, 16, 123, 174, 42, 43, 205, 132, 40, 88, 190, 96, 11, 144, 187, 111, 246, 235, 75, 163, 20, 163, 231, 163, 94, 30, 186, 167, 88, 123, 130, 230, 8, 203, 208, 222, 231, 25, 143, 40, 176, 44, 182, 75, 184, 167, 143, 237, 182, 235, 32, 81, 127, 85, 219, 38, 4, 45, 117, 219, 234, 11, 231, 103, 33, 199, 214, 100, 166, 23, 64, 37, 234, 59, 81, 111, 100, 241, 204, 159, 44, 196, 60, 92, 90, 30, 61, 252, 45, 8, 121, 139, 4, 144, 113, 39, 28, 194, 227, 98, 82, 237, 15, 44, 96 + +__riscv_vsetvl_e8m8(98); +vuint8m8_t var_61 = __riscv_vle8_v_u8m8(var_86, 98); +// 98, 184, 61, 239, 240, 91, 79, 194, 158, 234, 4, 89, 239, 124, 241, 245, 124, 143, 92, 94, 84, 167, 223, 198, 177, 178, 246, 91, 22, 131, 231, 12, 206, 85, 215, 46, 58, 146, 2, 225, 251, 206, 200, 104, 78, 12, 189, 38, 186, 162, 194, 48, 75, 42, 131, 81, 195, 207, 58, 209, 239, 164, 207, 113, 87, 198, 201, 40, 195, 146, 5, 8, 254, 248, 61, 44, 254, 195, 254, 100, 109, 142, 156, 197, 78, 169, 121, 72, 158, 31, 39, 235, 141, 48, 205, 242, 109, 113 + +vuint8m8_t var_62 = __riscv_vle8_v_u8m8(var_85, 98); +// 128, 227, 109, 98, 165, 57, 151, 127, 141, 112, 125, 27, 13, 104, 216, 83, 225, 180, 211, 113, 32, 194, 151, 47, 81, 223, 51, 145, 133, 6, 120, 56, 252, 40, 47, 145, 214, 159, 80, 253, 16, 33, 36, 69, 82, 20, 222, 113, 144, 68, 204, 207, 7, 128, 142, 38, 3, 142, 149, 25, 91, 91, 153, 64, 227, 135, 222, 165, 120, 56, 120, 249, 233, 100, 204, 127, 200, 213, 145, 193, 237, 3, 204, 214, 116, 115, 251, 64, 45, 52, 72, 5, 188, 219, 228, 36, 238, 195 + +__riscv_vsetvl_e8m8(120); +vint8m8_t var_65 = __riscv_vle8_v_i8m8(var_83, 120); +// 97, 57, 34, -38, 36, -74, -60, 124, -6, 0, -40, 53, 75, -72, -69, -52, 115, -49, -115, -101, -7, 107, -37, 7, -55, 7, 39, -16, -7, -34, -44, -31, -126, -82, -7, -43, 109, -93, 103, 90, 114, -127, 125, -95, -1, 61, 109, -118, 21, 6, -81, 87, 79, -73, -89, 5, 93, 92, -52, 86, 11, 99, 91, 2, 88, -38, 110, 17, -27, -93, 124, 85, 34, 46, -101, 35, 58, 47, -29, 49, -12, 26, -1, 64, 27, 96, -77, 109, -127, -106, -46, -109, -37, 111, -116, -53, 126, 67, 32, 62, 56, -42, -123, 119, -28, 11, -49, -29, -74, -95, 39, -50, -123, 13, -12, 56, -89, 74, -64, -111 + +__riscv_vsetvl_e8m8(98); +vint8m8_t var_67 = __riscv_vle8_v_i8m8(var_82, 98); +// 110, -40, -24, 36, -44, 2, 46, -123, -3, -47, 61, 100, 35, 101, 67, 47, -1, 125, -71, 67, 81, -108, -16, 15, -71, -66, 19, -68, -101, 42, -51, 64, 54, 106, 64, 9, -26, -25, -63, -13, -23, -72, 19, -36, -16, 69, -89, 80, 92, 44, -110, 1, 59, -23, 84, 87, -120, -108, 69, 93, 122, 47, -37, 9, 28, -65, 37, -59, -95, -76, 78, 32, 100, 17, 108, -70, -115, -118, 16, 43, 11, 40, -40, 39, 71, -51, 14, 19, -38, 33, 44, 49, -19, 8, 95, 70, -93, -87 + +vint8m8_t var_68 = __riscv_vle8_v_i8m8(var_81, 98); +// -88, -43, 94, -41, -57, 97, -45, -100, 35, 17, -101, -117, 70, 26, -14, 14, 69, 67, -27, 120, -71, 73, 79, 124, 100, -80, 67, 105, -72, 82, -42, -96, -108, -10, 45, -29, -83, 113, 115, -49, -6, -20, -112, 0, 40, 70, -126, -87, -99, -14, -106, -96, 114, 65, 65, -65, -58, -87, 21, 3, -17, -29, 13, -53, -76, 41, 87, 12, -83, 27, -11, -43, 4, 66, -87, 116, 23, -28, 11, -52, 6, -67, -3, 54, 79, 60, -26, -76, -10, 32, 23, -2, 42, 30, 66, 26, 91, -125 + +__riscv_vsetvl_e8mf2(8); +vbool16_t var_20 = __riscv_vmadc_vx_i8mf2_b16(var_23, var_74, 8); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +vbool16_t var_25 = __riscv_vmsleu_vv_u32m2_b16(var_28, var_29, 8); +// 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +vbool16_t var_24 = __riscv_vmsge_vx_i32m2_b16(var_30, var_73, 8); +// 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8m8(31); +vbool1_t var_31 = __riscv_vmsne_vv_i8m8_b1(var_34, var_35, 31); +// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + +vbool1_t var_42 = __riscv_vmsltu_vx_u8m8_b1(var_45, var_72, 31); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8m8(120); +vbool1_t var_47 = __riscv_vmseq_vv_i8m8_b1(var_49, var_50, 120); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +vbool1_t var_46 = __riscv_vmsne_vx_i8m8_b1(var_51, var_71, 120); +// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + +vbool1_t var_52 = __riscv_vmsbc_vv_i8m8_b1(var_55, var_56, 120); +// 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1 + +__riscv_vsetvl_e8m8(98); +vbool1_t var_60 = __riscv_vmseq_vv_u8m8_b1(var_61, var_62, 98); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8m8(120); +vbool1_t var_63 = __riscv_vmadc_vx_i8m8_b1(var_65, var_70, 120); +// 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + +__riscv_vsetvl_e8m8(98); +vbool1_t var_66 = __riscv_vmseq_vx_i8m8_b1(var_68, var_69, 98); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8mf2(8); +vuint8mf2_t var_19 = __riscv_vasubu_vx_u8mf2_tumu(var_20, var_21, var_22, var_75, 8); +// 197, 206, 42, 228, 104, 250, 255, 186 + +vbool16_t var_18 = __riscv_vmfle_vv_f64m4_b16_mu(var_24, var_25, var_26, var_27, 8); +// 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8m8(120); +vbool1_t var_11 = __riscv_vmsne_vx_u8m8_b1_mu(var_46, var_47, var_48, var_78, 120); +// 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 + +vint8m8_t var_10 = __riscv_vdiv_vx_i8m8_tumu(var_52, var_53, var_54, var_79, 120); +// 60, -103, -44, -1, -43, 1, 0, -107, 72, 37, 1, 0, 3, 77, 110, 0, 0, -69, 1, -1, 0, -1, 1, 0, 122, 79, 1, -38, 21, 24, -52, -34, -94, 0, 0, -1, 74, 93, -85, -12, -15, -10, 65, 0, 1, 122, 0, 0, -78, 0, 0, 121, 73, -111, 1, -57, 1, 0, -1, 54, 0, 105, 0, -106, 0, 0, 0, 0, -59, 1, 0, 55, 0, 11, 114, 1, 0, 0, 1, -1, 0, 0, -1, 33, -1, 96, 0, 0, -37, -47, 35, 0, 52, 102, -1, 0, 107, 1, 107, 0, 0, -6, 84, 113, 0, 1, 0, -1, -1, 0, -17, -1, 0, -1, -99, 1, -125, 18, -1, 0 + +__riscv_vsetvl_e8mf2(8); +vuint8mf2_t var_15 = __riscv_vmulhu_vv_u8mf2_tumu(var_18, var_19, var_19, var_19, 8); +// 197, 206, 6, 228, 104, 244, 255, 186 + +__riscv_vsetvl_e8m8(98); +vint8m8_t var_3 = __riscv_vnmsub_vv_i8m8_tumu(var_66, var_0, var_10, var_67, 98); +// -52, 85, -58, 27, 110, -67, -54, 4, -100, 95, -74, -42, -123, -17, -71, -112, 119, -22, -4, -77, -118, -10, 30, -74, 0, 103, -122, 124, 59, -99, 78, -46, -52, 94, 14, -74, -97, 25, -59, 3, 68, -15, -60, 83, 80, -113, -90, -118, 7, -38, -57, -114, 88, -76, 8, 44, 45, 12, -27, 83, 43, 77, -93, 79, 6, -17, 93, 33, 22, 6, 113, -5, -13, 20, -106, -36, -57, -21, -127, -89, 102, -62, -92, -124, 73, 118, 41, -120, 94, -100, 13, -34, -86, -103, 26, -57, -16, 22, -48, -71, 15, 40, 27, -125, -94, -93, -93, -3, -33, 60, 15, -29, -16, 70, -15, 30, 108, -105, 30, -65 + +int8_t var_7 = __riscv_vmv_x_s_i8m8_i8(var_10); +// 60 + +__riscv_vsetvl_e8m8(120); +vint8m8_t var_2 = __riscv_vrem_vv_i8m8_tumu(var_11, var_10, var_10, var_10, 120); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8mf2(8); +uint8_t var_13 = __riscv_vmv_x_s_u8mf2_u8(var_15); +// 197 + +__riscv_vsetvl_e8m8(31); +vint8m8_t var_12 = __riscv_vsll_vv_i8m8_tumu(var_42, var_3, var_43, var_44, 31); +// -52, 85, -58, 27, 110, -67, -54, 4, -100, 95, -74, -42, -123, -17, -71, -112, 119, -22, -4, -77, -118, -10, 30, -74, 0, 103, -122, 124, 59, -99, 78, -46, -52, 94, 14, -74, -97, 25, -59, 3, 68, -15, -60, 83, 80, -113, -90, -118, 7, -38, -57, -114, 88, -76, 8, 44, 45, 12, -27, 83, 43, 77, -93, 79, 6, -17, 93, 33, 22, 6, 113, -5, -13, 20, -106, -36, -57, -21, -127, -89, 102, -62, -92, -124, 73, 118, 41, -120, 94, -100, 13, -34, -86, -103, 26, -57, -16, 22, -48, -71, 15, 40, 27, -125, -94, -93, -93, -3, -33, 60, 15, -29, -16, 70, -15, 30, 108, -105, 30, -65 + +__riscv_vsetvl_e8m8(98); +vint8m8_t var_5 = __riscv_vsbc_vxm_i8m8(var_3, var_7, var_60, 98); +// -112, 25, -118, -33, 50, -127, -114, -56, 96, 35, 122, -102, 73, -77, 125, 84, 59, -82, -64, 119, 78, -70, -30, 122, -60, 43, 74, 64, -1, 97, 18, -106, -112, 34, -46, 122, 99, -35, -119, -57, 8, -75, -120, 23, 20, 83, 106, 78, -53, -98, -117, 82, 28, 120, -52, -16, -15, -48, -87, 23, -17, 17, 103, 19, -54, -77, 33, -27, -38, -54, 53, -65, -73, -40, 90, -96, -117, -81, 69, 107, 42, -122, 104, 72, 13, 58, -19, 76, 34, 96, -47, -94, 110, 93, -34, -117, -76, -38 + +__riscv_vsetvl_e8m8(120); +vint8m8_t var_1 = __riscv_vxor_vv_i8m8_tumu(var_11, var_0, var_2, var_2, 120); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +vuint8m8_t var_8 = __riscv_vasubu_vx_u8m8(var_59, var_13, 120); +// 218, 246, 239, 246, 238, 166, 19, 14, 242, 1, 241, 218, 249, 179, 214, 204, 166, 219, 245, 179, 179, 4, 224, 178, 202, 253, 206, 163, 230, 251, 213, 25, 19, 195, 239, 168, 239, 17, 239, 205, 173, 251, 241, 202, 219, 223, 17, 162, 3, 6, 13, 17, 170, 229, 178, 246, 180, 249, 195, 250, 241, 229, 20, 249, 19, 174, 198, 221, 200, 11, 177, 160, 180, 216, 11, 19, 163, 17, 209, 174, 1, 9, 208, 241, 169, 190, 176, 19, 187, 198, 213, 208, 22, 4, 237, 180, 0, 188, 204, 203, 173, 188, 28, 180, 162, 218, 227, 160, 230, 214, 177, 172, 255, 15, 207, 199, 20, 165, 180, 206 + +__riscv_vsetvl_e8m8(31); +vint8m8_t var_17 = __riscv_vssra_vx_i8m8_tumu(var_31, var_12, var_32, var_76, 31); +// 41, 69, -57, 102, 86, 103, -128, 4, -118, -1, 109, 40, 7, 27, 79, -63, 35, 73, 1, 42, -85, 126, 107, 53, -114, 39, 53, 10, -94, -20, 125, -46, -52, 94, 14, -74, -97, 25, -59, 3, 68, -15, -60, 83, 80, -113, -90, -118, 7, -38, -57, -114, 88, -76, 8, 44, 45, 12, -27, 83, 43, 77, -93, 79, 6, -17, 93, 33, 22, 6, 113, -5, -13, 20, -106, -36, -57, -21, -127, -89, 102, -62, -92, -124, 73, 118, 41, -120, 94, -100, 13, -34, -86, -103, 26, -57, -16, 22, -48, -71, 15, 40, 27, -125, -94, -93, -93, -3, -33, 60, 15, -29, -16, 70, -15, 30, 108, -105, 30, -65 + +__riscv_vsetvl_e8m8(98); +vbool1_t var_6 = __riscv_vmseq_vv_i8m8_b1(var_5, var_10, 98); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8m8(120); +vint8m8_t var_4 = __riscv_vssra_vv_i8m8_tumu(var_63, var_1, var_10, var_8, 120); +// 15, -2, 0, 0, -1, 0, 0, -2, 18, 0, 1, 0, 2, 10, 2, 0, 0, -9, 0, 0, 0, 0, 1, 0, 31, 2, 0, -5, 0, 3, -2, -17, -12, 0, 0, -1, 1, 47, -1, 0, 0, -1, 33, 0, 0, 1, 0, 0, -10, 0, 0, 61, 18, -3, 0, -1, 0, 0, 0, 14, 0, 3, 0, 0, 0, 0, 0, 0, -59, 0, 0, 55, 0, 11, 14, 0, 0, 0, 1, 0, 0, 0, -1, 17, 0, 2, 0, 0, -5, -1, 1, 0, 1, 6, 0, 0, 107, 0, 7, 0, 0, 0, 5, 7, 0, 0, 0, -1, 0, 0, -8, 0, 0, 0, -1, 0, -8, 1, 0, 0 + +__riscv_vsetvl_e8m8(31); +__riscv_vse8_v_i8m8(var_109, var_17, 31); +__riscv_vsetvl_e8m8(9); +vint8m8_t var_9 = __riscv_vmacc_vx_i8m8_tumu(var_6, var_10, var_80, var_57, 9); +// 60, -103, -44, -1, -43, 1, 0, -107, 72, 37, 1, 0, 3, 77, 110, 0, 0, -69, 1, -1, 0, -1, 1, 0, 122, 79, 1, -38, 21, 24, -52, -34, -94, 0, 0, -1, 74, 93, -85, -12, -15, -10, 65, 0, 1, 122, 0, 0, -78, 0, 0, 121, 73, -111, 1, -57, 1, 0, -1, 54, 0, 105, 0, -106, 0, 0, 0, 0, -59, 1, 0, 55, 0, 11, 114, 1, 0, 0, 1, -1, 0, 0, -1, 33, -1, 96, 0, 0, -37, -47, 35, 0, 52, 102, -1, 0, 107, 1, 107, 0, 0, -6, 84, 113, 0, 1, 0, -1, -1, 0, -17, -1, 0, -1, -99, 1, -125, 18, -1, 0 + +__riscv_vsetvl_e8m8(38); +vint8m8_t var_14 = __riscv_vmerge_vvm_i8m8(var_39, var_40, var_6, 38); +// 44, 40, 108, -73, 76, -34, -25, 4, 54, 94, -10, -29, 12, 116, -121, -32, 30, 61, 127, 16, -34, -95, -90, 124, -4, 12, 124, 18, 123, -37, -56, -119, 9, 12, 57, 30, -20, 29 + +__riscv_vsetvl_e8m8(98); +vuint8m8_t var_16 = __riscv_vslide1down_vx_u8m8_tumu(var_6, var_36, var_37, var_77, 98); +// 53, 28, 220, 181, 243, 150, 238, 37, 119, 182, 29, 252, 15, 156, 34, 201, 75, 149, 173, 112, 255, 58, 51, 176, 22, 103, 44, 150, 225, 31, 190, 70, 125, 112, 57, 3, 191, 131, 48, 89, 168, 58, 104, 228, 15, 80, 128, 101, 161, 132, 24, 17, 113, 126, 25, 23, 93, 18, 241, 203, 255, 142, 113, 233, 129, 137, 248, 173, 40, 23, 161, 100, 242, 77, 206, 18, 162, 57, 44, 215, 2, 43, 61, 116, 166, 21, 188, 74, 234, 245, 45, 44, 17, 240, 46, 58, 89, 254 + +__riscv_vsetvl_e8m8(120); +__riscv_vse8_v_i8m8(var_84, var_4, 120); +if(!check(var_109, var_121, var_122)) {cerr << "check 120 fails" << endl; return_value = 1;} +__riscv_vsetvl_e8m8(9); +__riscv_vse8_v_i8m8(var_88, var_9, 9); +__riscv_vsetvl_e8m8(38); +__riscv_vse8_v_i8m8(var_101, var_14, 38); +__riscv_vsetvl_e8m8(98); +__riscv_vse8_v_u8m8(var_104, var_16, 98); +if(!check(var_84, var_133, var_134)) {cerr << "check 132 fails" << endl; return_value = 1;} +if(!check(var_88, var_130, var_131)) {cerr << "check 129 fails" << endl; return_value = 1;} +if(!check(var_101, var_127, var_128)) {cerr << "check 126 fails" << endl; return_value = 1;} +if(!check(var_104, var_124, var_125)) {cerr << "check 123 fails" << endl; return_value = 1;} +if (return_value) + __builtin_abort (); +return return_value; +} diff --git a/gcc/testsuite/g++.target/riscv/rvv/base/bug-17.C b/gcc/testsuite/g++.target/riscv/rvv/base/bug-17.C new file mode 100644 index 00000000000..816e703f87b --- /dev/null +++ b/gcc/testsuite/g++.target/riscv/rvv/base/bug-17.C @@ -0,0 +1,406 @@ +/* { dg-do run } */ +/* { dg-options "-O2" } */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using std::addressof; +using std::cerr; +using std::endl; +using std::int8_t; +using std::int16_t; +using std::int32_t; +using std::int64_t; +using std::uint8_t; +using std::uint16_t; +using std::uint32_t; +using std::uint64_t; +using std::ptrdiff_t; +using std::size_t; +using float16_t = _Float16; +using float32_t = float; +using float64_t = double; + +template +constexpr T uint_to_float(T2 val) noexcept +{ + return *reinterpret_cast(&val); +} + +constexpr const auto &f16(uint_to_float); +constexpr const auto &f32(uint_to_float); +constexpr const auto &f64(uint_to_float); + +template +struct To_uint +{ + using type = std::conditional_t< + sizeof(T) == 1, uint8_t, std::conditional_t< + sizeof(T) == 2, uint16_t, std::conditional_t< + sizeof(T) == 4, uint32_t, std::conditional_t< + sizeof(T) == 8, uint64_t, void + > + > + > + >; +}; + +// isnan() does not support half type +template +struct To_float +{ + using type = std::conditional_t< + std::is_same::value, float, std::conditional_t< + std::is_same::value, float, std::conditional_t< + std::is_same::value, double, float + > + > + >; +}; + +template +using To_uint_t = typename To_uint::type; + +template +using To_isnan_float = typename To_float::type; + +template +void print_float(std::ostream &os, T val) +{ + using std::setw; + os << std::hex << std::setfill('0') << setw(sizeof(T) * 2) << *reinterpret_cast*>(addressof(val)) << setw(0) << std::dec; +} + +template +bool __attribute__((noinline)) +check(const T *a, const T *b, size_t size) +{ + bool rv = true; + for (size_t i = 0; i < (size / sizeof(T)); ++i) { + if (reinterpret_cast *>(a)[i] == + reinterpret_cast *>(b)[i]) + continue; + // floating negative zero == positive zero + if ((std::is_floating_point_v || std::is_same::value) && + (a[i] == b[i])) + continue; + // if both result are NaN, return true + if ((std::is_same::value || std::is_floating_point_v) && + std::isnan(static_cast>(a[i])) && + std::isnan(static_cast>(b[i]))) + continue; + + if (std::is_same::value) { + cerr << std::hex << std::setfill('0') << std::setw(sizeof(T) * 2) << "[" + << i + << "] result/golden:" << reinterpret_cast *>(a)[i] + << " != " << reinterpret_cast *>(b)[i] + << std::setw(0) << std::dec << endl; + } else if constexpr (std::is_floating_point_v) { + cerr << "[" << i << "] result/golden:" << a[i] << "("; + print_float(cerr, a[i]); + cerr << ") != " << b[i] << "("; + print_float(cerr, b[i]); + cerr << ")" << endl; + } else if constexpr (std::is_unsigned_v) { + cerr << "[" << i << "] result/golden: " << static_cast(a[i]) + << " != " << static_cast(b[i]) << endl; + } else { + cerr << "[" << i << "] result/golden:" << static_cast(a[i]) + << " != " << static_cast(b[i]) << endl; + } + rv = false; + } + return rv; +} + +template +bool __attribute__((noinline)) +check(const T a, const T golden) +{ + return check(addressof(a), addressof(golden), sizeof(T)); +} + +#if defined(__riscv_xsfvfhbfmin) || defined(__riscv_xsfvfwmaccqqq) +#define vle16_v_bf16mf4(p, vl) vreinterpret_v_u16mf4_bf16mf4(vle16_v_u16mf4(p, vl)) +#define vle16_v_bf16mf2(p, vl) vreinterpret_v_u16mf2_bf16mf2(vle16_v_u16mf2(p, vl)) +#define vle16_v_bf16m1(p, vl) vreinterpret_v_u16m1_bf16m1(vle16_v_u16m1(p, vl)) +#define vle16_v_bf16m2(p, vl) vreinterpret_v_u16m2_bf16m2(vle16_v_u16m2(p, vl)) +#define vle16_v_bf16m4(p, vl) vreinterpret_v_u16m4_bf16m4(vle16_v_u16m4(p, vl)) +#define vle16_v_bf16m8(p, vl) vreinterpret_v_u16m8_bf16m8(vle16_v_u16m8(p, vl)) +#define __riscv_vse16_v_bf16mf4(p, v, vl) __riscv_vse16_v_u16mf4(p, vreinterpret_v_bf16mf4_u16mf4(v), vl) +#define __riscv_vse16_v_bf16mf2(p, v, vl) __riscv_vse16_v_u16mf2(p, vreinterpret_v_bf16mf2_u16mf2(v), vl) +#define __riscv_vse16_v_bf16m1(p, v, vl) __riscv_vse16_v_u16m1(p, vreinterpret_v_bf16m1_u16m1(v), vl) +#define __riscv_vse16_v_bf16m2(p, v, vl) __riscv_vse16_v_u16m2(p, vreinterpret_v_bf16m2_u16m2(v), vl) +#define __riscv_vse16_v_bf16m4(p, v, vl) __riscv_vse16_v_u16m4(p, vreinterpret_v_bf16m4_u16m4(v), vl) +#define __riscv_vse16_v_bf16m8(p,v , vl) __riscv_vse16_v_u16m8(p, vreinterpret_v_bf16m8_u16m8(v), vl) +#endif + +int main() +{ +int return_value = 0; + +size_t var_115 = 16u; +uint16_t var_114 [] = {2331u, 50321u, 25359u, 51650u, 44823u, 43544u, 34732u, 58047u}; +size_t var_112 = 1u; +int8_t var_111 [] = {-16}; +size_t var_109 = 2u; +uint16_t var_108 [] = {68u}; +size_t var_106 = 2u; +uint16_t var_105 [] = {30389u}; +size_t var_103 = 8u; +float64_t var_102 [] = {f64(4183473977970130944u)}; +// 4.841275101341818e-29 + +size_t var_100 = 1u; +int8_t var_99 [] = {-108}; +uint16_t var_97 [] = {65012u, 55190u, 46514u, 28875u, 36594u, 43727u, 7586u, 1367u}; +int8_t var_96 [] = {-75, 96, 39, -9, -69, -46, 1, -22, 111, 11, -76, 59, -24, 24, -1, 89}; +uint16_t var_94 [] = {7u, 14u, 13u, 0u, 6u, 14u, 2u, 8u}; +int8_t var_92 [] = {-108, 37, -34}; +int8_t var_91 [] = {125, 112, -29}; +int8_t var_90 [] = {-115, -124, 14}; +int8_t var_89 [] = {66}; +float32_t var_88 [] = {f32(2346361110u), f32(2274765554u), f32(4170636865u), f32(1255137954u), f32(770048131u)}; +// -8.421292075547953e-32, -2.2594732521906944e-34, -2.4479761673212445e+34, 6811985.0, 2.614819992474704e-11 + +float32_t var_87 [] = {f32(1690833471u), f32(1611751969u), f32(3039507657u), f32(1499035410u), f32(3666009633u)}; +// 2.9525308674865006e+22, 4.190388786840365e+19, -6.377927661560534e-07, 3825686821208064.0, -1.841799014383616e+16 + +uint64_t var_86 [] = {3425713696681443193u, 5039499209058164190u, 6049277984953311932u, 8873752123271114414u, 9754200587838842769u}; +float64_t var_85 [] = {f64(2476498982022245897u)}; +// 3.8813899938074913e-143 + +uint16_t var_84 [] = {19327u, 36695u, 50674u, 17467u}; +uint16_t var_83 [] = {22045u, 32601u, 55272u, 26559u}; +uint16_t var_82 [] = {3815u}; +uint8_t var_81 [] = {116u, 85u, 204u, 9u, 205u, 156u, 44u, 95u}; +uint16_t var_80 [] = {125u, 11200u, 34490u, 18374u, 4588u, 35391u, 63495u, 10305u}; +uint16_t var_79 [] = {15332u}; +uint16_t var_78 [] = {1453u, 28298u, 2362u, 23807u, 62748u, 52974u, 59001u, 40770u}; +uint16_t var_77 [] = {46274u, 10845u, 29681u, 59897u, 19443u, 17522u, 9033u, 21769u}; +uint8_t var_76 [] = {51u, 70u, 115u, 250u, 97u, 187u, 167u, 45u}; +int32_t var_75 [] = {228679613, 1651811947, -2100244616, -2082713800, 634254738, -390199277, 1417009460, -1348998711}; +int32_t var_74 [] = {-1513452368, 349133221, -405006840, -217144520, 1959356346, -1224636336, -576064041, -1037028305}; +int32_t var_73 [] = {1249999099, 991531407, -1993434062, -274053194, 1121453020, 2040089161, 170172760, 983679859}; +uint16_t var_72 [] = {48382u, 12539u, 64301u, 45250u, 42097u, 26733u, 49161u, 59749u}; +uint16_t var_71 [] = {8893u, 30107u, 19590u, 37346u, 19495u, 6196u, 41086u, 17234u}; +uint16_t var_70 [] = {49157u, 58982u, 14107u, 53921u, 28458u, 3999u, 42377u, 16999u}; +int8_t var_69 [] = {51, 63, 26, 58, 61, 59}; +int8_t var_68 [] = {-16, -106, -123, 82, 33, -21}; +int8_t var_67 [] = {40, -112, 39, -51, -120, -5}; +int8_t var_66 [] = {3}; +uint8_t var_65 [] = {249u, 156u, 104u, 248u, 181u, 207u, 205u, 28u}; +uint16_t var_64 [] = {58047u, 8278u, 15783u, 9954u, 32465u, 59765u, 43410u, 64808u}; +uint16_t var_63 [] = {53522u, 2331u, 50321u, 25359u, 51650u, 44823u, 43544u, 34732u}; +int8_t var_62 [] = {-69, 99, -93, 118, 114, -30, 108, 104}; +int8_t var_61 [] = {88, -96, 119, 5, -125, 104, 122, -42}; +uint8_t var_60 = 45u; +float32_t var_59 = f32(276134744u); +// 4.841275101341818e-29 + +float32_t var_58 = f32(2996294259u); +// -1.7674414820589845e-08 + +uint64_t var_57 = 6032944606398802016u; +uint8_t var_56 = 242u; +int32_t var_55 = -1832850957; +__riscv_vsetvl_e16m1(8); +vuint16m1_t var_93 = __riscv_vle16_v_u16m1(var_94, 8); +// 7, 14, 13, 0, 6, 14, 2, 8 + +__riscv_vsetvl_e8mf2(3); +vint8mf2_t var_20 = __riscv_vle8_v_i8mf2(var_92, 3); +// -108, 37, -34 + +vint8mf2_t var_21 = __riscv_vle8_v_i8mf2(var_91, 3); +// 125, 112, -29 + +vint8mf2_t var_22 = __riscv_vle8_v_i8mf2(var_90, 3); +// -115, -124, 14 + +__riscv_vsetvl_e32m2(5); +vfloat32m2_t var_25 = __riscv_vle32_v_f32m2(var_88, 5); +// -8.421292075547953e-32, -2.2594732521906944e-34, -2.4479761673212445e+34, 6811985.0, 2.614819992474704e-11 + +vfloat32m2_t var_26 = __riscv_vle32_v_f32m2(var_87, 5); +// 2.9525308674865006e+22, 4.190388786840365e+19, -6.377927661560534e-07, 3825686821208064.0, -1.841799014383616e+16 + +vuint64m4_t var_27 = __riscv_vle64_v_u64m4(var_86, 5); +// 3425713696681443193, 5039499209058164190, 6049277984953311932, 8873752123271114414, 9754200587838842769 + +__riscv_vsetvl_e16m1(4); +vuint16m1_t var_29 = __riscv_vle16_v_u16m1(var_84, 4); +// 19327, 36695, 50674, 17467 + +vuint16m1_t var_30 = __riscv_vle16_v_u16m1(var_83, 4); +// 22045, 32601, 55272, 26559 + +__riscv_vsetvl_e8mf2(8); +vuint8mf2_t var_32 = __riscv_vle8_v_u8mf2(var_81, 8); +// 116, 85, 204, 9, 205, 156, 44, 95 + +vuint16m1_t var_33 = __riscv_vle16_v_u16m1(var_80, 8); +// 125, 11200, 34490, 18374, 4588, 35391, 63495, 10305 + +vuint16m1_t var_36 = __riscv_vle16_v_u16m1(var_78, 8); +// 1453, 28298, 2362, 23807, 62748, 52974, 59001, 40770 + +vuint16m1_t var_37 = __riscv_vle16_v_u16m1(var_77, 8); +// 46274, 10845, 29681, 59897, 19443, 17522, 9033, 21769 + +vuint8mf2_t var_38 = __riscv_vle8_v_u8mf2(var_76, 8); +// 51, 70, 115, 250, 97, 187, 167, 45 + +__riscv_vsetvl_e32m8(8); +vint32m8_t var_39 = __riscv_vle32_v_i32m8(var_75, 8); +// 228679613, 1651811947, -2100244616, -2082713800, 634254738, -390199277, 1417009460, -1348998711 + +__riscv_vsetvl_e32m2(8); +vint32m2_t var_40 = __riscv_vle32_v_i32m2(var_74, 8); +// -1513452368, 349133221, -405006840, -217144520, 1959356346, -1224636336, -576064041, -1037028305 + +vint32m2_t var_42 = __riscv_vle32_v_i32m2(var_73, 8); +// 1249999099, 991531407, -1993434062, -274053194, 1121453020, 2040089161, 170172760, 983679859 + +vuint16m1_t var_43 = __riscv_vle16_v_u16m1(var_72, 8); +// 48382, 12539, 64301, 45250, 42097, 26733, 49161, 59749 + +vuint16m1_t var_44 = __riscv_vle16_v_u16m1(var_71, 8); +// 8893, 30107, 19590, 37346, 19495, 6196, 41086, 17234 + +vuint16m1_t var_45 = __riscv_vle16_v_u16m1(var_70, 8); +// 49157, 58982, 14107, 53921, 28458, 3999, 42377, 16999 + +__riscv_vsetvl_e8m2(6); +vint8m2_t var_46 = __riscv_vle8_v_i8m2(var_69, 6); +// 51, 63, 26, 58, 61, 59 + +__riscv_vsetvl_e8mf2(6); +vint8mf2_t var_47 = __riscv_vle8_v_i8mf2(var_68, 6); +// -16, -106, -123, 82, 33, -21 + +vint8mf2_t var_48 = __riscv_vle8_v_i8mf2(var_67, 6); +// 40, -112, 39, -51, -120, -5 + +__riscv_vsetvl_e8mf2(8); +vuint8mf2_t var_50 = __riscv_vle8_v_u8mf2(var_65, 8); +// 249, 156, 104, 248, 181, 207, 205, 28 + +__riscv_vsetvl_e16m4(8); +vuint16m4_t var_51 = __riscv_vle16_v_u16m4(var_64, 8); +// 58047, 8278, 15783, 9954, 32465, 59765, 43410, 64808 + +__riscv_vsetvl_e16m1(8); +vuint16m1_t var_52 = __riscv_vle16_v_u16m1(var_63, 8); +// 53522, 2331, 50321, 25359, 51650, 44823, 43544, 34732 + +vint8mf2_t var_53 = __riscv_vle8_v_i8mf2(var_62, 8); +// -69, 99, -93, 118, 114, -30, 108, 104 + +vint8mf2_t var_54 = __riscv_vle8_v_i8mf2(var_61, 8); +// 88, -96, 119, 5, -125, 104, 122, -42 + +__riscv_vsetvl_e32m2(5); +vfloat32m2_t var_16 = __riscv_vfmv_v_f_f32m2(var_59, 5); +// 4.841275101341818e-29, 4.841275101341818e-29, 4.841275101341818e-29, 4.841275101341818e-29, 4.841275101341818e-29 + +vbool16_t var_24 = __riscv_vmsltu_vx_u64m4_b16(var_27, var_57, 5); +// 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8mf2(8); +vuint8mf2_t var_14 = __riscv_vmv_s_x_u8mf2_tu(var_32, var_60, 8); +// 45, 85, 204, 9, 205, 156, 44, 95 + +vbool16_t var_35 = __riscv_vmsbc_vx_u8mf2_b16(var_38, var_56, 8); +// 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e32m8(8); +int32_t var_10 = __riscv_vmv_x_s_i32m8_i32(var_39); +// 228679613 + +__riscv_vsetvl_e32m2(8); +vbool16_t var_41 = __riscv_vmsge_vx_i32m2_b16(var_42, var_55, 8); +// 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e8m2(6); +int8_t var_7 = __riscv_vmv_x_s_i8m2_i8(var_46); +// 51 + +__riscv_vsetvl_e16m4(8); +uint16_t var_4 = __riscv_vmv_x_s_u16m4_u16(var_51); +// 58047 + +__riscv_vsetvl_e32m2(5); +vfloat32m2_t var_18 = __riscv_vfnmsac_vf_f32m2_tumu(var_24, var_25, var_58, var_26, 5); +// 521842552995840.0, 740626726912.0, -2.4479761673212445e+34, 6811985.0, 2.614819992474704e-11 + +__riscv_vsetvl_e8mf2(1); +vbool16_t var_5 = __riscv_vmadc_vv_u8mf2_b16(var_14, var_50, 1); +// 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vsetvl_e32m2(8); +vint32m2_t var_9 = __riscv_vsbc_vxm_i32m2(var_40, var_10, var_41, 8); +// -1742131982, 120453607, -633686453, -445824134, 1730676732, -1453315950, -804743655, -1265707919 + +vuint16m1_t var_2 = __riscv_vslide1down_vx_u16m1(var_52, var_4, 8); +// 2331, 50321, 25359, 51650, 44823, 43544, 34732, 58047 + +vbool16_t var_3 = __riscv_vmadc_vv_i32m2_b16(var_9, var_9, 8); +// 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +__riscv_vse16_v_u16m1(var_97, var_2, 8); +vint8mf2_t var_0 = __riscv_vloxei16_v_i8mf2_tumu(var_3, var_54, var_96, var_93, 8); +// -22, -96, 24, -75, -125, -1, 39, 111 + +if(!check(var_97, var_114, var_115)) {cerr << "check 113 fails" << endl; return_value = 1;} +__riscv_vsetvl_e8mf2(1); +vbool16_t var_1 = __riscv_vmsle_vv_i8mf2_b16_mu(var_3, var_5, var_0, var_53, 1); +// 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + +vint8mf2_t var_6 = __riscv_vslide1down_vx_i8mf2_tumu(var_1, var_47, var_48, var_7, 1); +// -16, -106, -123, 82, 33, -21 + +vuint16m1_t var_8 = __riscv_vor_vv_u16m1_tumu(var_1, var_43, var_44, var_45, 1); +// 48382, 12539, 64301, 45250, 42097, 26733, 49161, 59749 + +vfloat32m2_t var_12 = __riscv_vfdiv_vv_f32m2_tumu(var_1, var_16, var_16, var_18, 1); +// 4.841275101341818e-29, 4.841275101341818e-29, 4.841275101341818e-29, 4.841275101341818e-29, 4.841275101341818e-29 + +vint8mf2_t var_19 = __riscv_vaadd_vv_i8mf2_tumu(var_1, var_20, var_21, var_22, 1); +// -108, 37, -34 + +__riscv_vse8_v_i8mf2(var_66, var_6, 1); +vuint16m1_t var_11 = __riscv_vmacc_vv_u16m1_tumu(var_35, var_8, var_36, var_37, 1); +// 44568, 12539, 64301, 45250, 42097, 26733, 49161, 59749 + +vfloat64m4_t var_17 = __riscv_vfwcvt_f_f_v_f64m4(var_12, 1); +// 4.841275101341818e-29 + +__riscv_vse8_v_i8mf2(var_89, var_19, 1); +if(!check(var_66, var_111, var_112)) {cerr << "check 110 fails" << endl; return_value = 1;} +vuint16m1_t var_13 = __riscv_vremu_vv_u16m1(var_11, var_33, 1); +// 68 + +vuint16m1_t var_15 = __riscv_vnmsac_vv_u16m1(var_11, var_29, var_30, 1); +// 30389, 12539, 64301, 45250, 42097, 26733, 49161, 59749 + +__riscv_vse64_v_f64m4(var_85, var_17, 1); +if(!check(var_89, var_99, var_100)) {cerr << "check 98 fails" << endl; return_value = 1;} +__riscv_vse16_v_u16m1(var_79, var_13, 1); +__riscv_vse16_v_u16m1(var_82, var_15, 1); +if(!check(var_85, var_102, var_103)) {cerr << "check 101 fails" << endl; return_value = 1;} +if(!check(var_79, var_108, var_109)) {cerr << "check 107 fails" << endl; return_value = 1;} +if(!check(var_82, var_105, var_106)) {cerr << "check 104 fails" << endl; return_value = 1;} +if (return_value) + __builtin_abort (); +return return_value; +}