From patchwork Wed Sep 13 03:40:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: chenxiaolong X-Patchwork-Id: 138619 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:9ecd:0:b0:3f2:4152:657d with SMTP id t13csp838887vqx; Tue, 12 Sep 2023 21:03:07 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFO97BbwhOLT/KqZsbbhP1P4v5sv8+wu3x7zhW/7V9W6reUI9/D5IIb/LNZKlRWTTJte46e X-Received: by 2002:a19:ca43:0:b0:4ff:aeef:b582 with SMTP id h3-20020a19ca43000000b004ffaeefb582mr989577lfj.66.1694577787072; Tue, 12 Sep 2023 21:03:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1694577787; cv=none; d=google.com; s=arc-20160816; b=SK0WeVIzNrSsvm38EK0xPjHG09uM//mR1ef9JfiuhV+n2O5/HRqUcPlZe8mCHqEcx4 s0rbWk6l1oWktADfCN1UcNzrsXApEggksVgqyTm9eVJU+AXVjP8N9ihk9LC803sD9syX cYp4b/ZHF84vThfb6C3DJu/mAdnjMhVQ2py6a9sgedoIKo5dJq7MKB6W10x1rQqUXy2E oHpue5dk2aBMUtGJYpk+qBA43xJP7ss28ll4IKDh0+mifC77qQy1dr48xz9l8UN/zFxP vLggPjp1lR0JhBFIToiHZ/Gxpx5mSDIXzRh034Cdx6EgWDcJp24iWnNj6X7rIomvU7Hy rFbQ== 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:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dmarc-filter:delivered-to; bh=AQNsbOFDLravSgJpYcR168anKt71Brfu3QUWfFnW3bA=; fh=3pFUYcpS/27XRzOf17GfR86AuNQu+P1CET04YURgCLs=; b=CNX38V8oK5v4JlJfeEwg67QEB3HxkO2r9ybA/5Ne9a8RPmOeTk4/0ua+Nq+mw78eaX mcjiET7EE717DxDOgd/0l69LANRFivpsty55myRWDyxwY/mWHP3KGi1aLwiGMNlIc9an VGqssOV5a0xs9qbFCzeG0l1gdXRrxiJJ06uVAbWX+y74sJa4Wnqt9PlwFhCd9yvwo0R5 MTFWmEewozFUfB9U1KjPsYgtrROJD4DrfsGNClIZ4VHBrdrFZFj07ChOCnDnaYv3cN71 yrMXXLNrWxoCX4x2fiIMMwjmRp3HDjlsVapZHxmkYxt5k5RgTnkXLBOGNKCVBR/aVE// wWkQ== 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 server2.sourceware.org (ip-8-43-85-97.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id z20-20020aa7c654000000b005236978cabesi10171551edr.684.2023.09.12.21.03.06 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 12 Sep 2023 21:03:07 -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 B1327398641A for ; Wed, 13 Sep 2023 03:42:49 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by sourceware.org (Postfix) with ESMTP id DFAB0382E76D for ; Wed, 13 Sep 2023 03:40:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DFAB0382E76D Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=loongson.cn Received: from loongson.cn (unknown [10.10.130.252]) by gateway (Coremail) with SMTP id _____8Bx5fA7LwFlejEmAA--.9009S3; Wed, 13 Sep 2023 11:40:43 +0800 (CST) Received: from slurm-master.loongson.cn (unknown [10.10.130.252]) by localhost.localdomain (Coremail) with SMTP id AQAAf8CxfNwtLwFlEhECAA--.3650S9; Wed, 13 Sep 2023 11:40:42 +0800 (CST) From: Xiaolong Chen To: gcc-patches@gcc.gnu.org Cc: xry111@xry111.site, i@xen0n.name, xuchenghua@loongson.cn, chenglulu@loongson.cn, Xiaolong Chen Subject: [PATCH v4 15/22] LoongArch: Add tests for ASX vector floating-point conversion instruction. Date: Wed, 13 Sep 2023 11:40:22 +0800 Message-Id: <20230913034026.7751-6-chenxiaolong@loongson.cn> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20230913034026.7751-1-chenxiaolong@loongson.cn> References: <20230913034026.7751-1-chenxiaolong@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8CxfNwtLwFlEhECAA--.3650S9 X-CM-SenderInfo: hfkh05xldrz0tqj6z05rqj20fqof0/1tbiAQANBWUBHCIBRgAAsU X-Coremail-Antispam: 1Uk129KBj93XoW7Gw48Xr4DJrWfJFy8Kw4rp5X_Wr4xJFWrpr 1xJr13GayIkayUtrWUtFWaqrs0yr40ya4DJF17G3sru3WkKF9Iqr47ArWUAr1kGF48ZF13 tFZ8Jw48trW5GwcCm3ZEXasCq-sJn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUU92b4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26r4UJVWxJr1l84ACjcxK6I8E87Iv6xkF7I0E 14v26r4UJVWxJr1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqjxCEc2xF0cIa020Ex4CE44 I27wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8IcVAFwI0_ZF0_GryDMcIj6I8E 87Iv67AKxVW8Jr0_Cr1UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwACjc xG6xCI17CEII8vrVW3JVW8Jr1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_ Gr1lx2IqxVAqx4xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17 CE14v26r126r1DMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_tr0E3s1lIxAIcVC0 I7IYx2IY6xkF7I0E14v26r4UJVWxJr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0x vEx4A2jsIE14v26r4UJVWxJr1lIxAIcVC2z280aVCY1x0267AKxVW8Jr0_Cr1UYxBIdaVF xhVjvjDU0xZFpf9x07b0c_-UUUUU= X-Spam-Status: No, score=-12.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_SHORT, SPF_HELO_NONE, 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.30 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: INBOX X-GMAIL-THRID: 1776893597562065468 X-GMAIL-MSGID: 1776893597562065468 gcc/testsuite/ChangeLog: * gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvffinth.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c: New test. * gcc.target/loongarch/vector/lasx/lasx-xvftintl.c: New test. --- .../loongarch/vector/lasx/lasx-xvfcvt.c | 528 ++++++ .../loongarch/vector/lasx/lasx-xvfcvth.c | 485 +++++ .../loongarch/vector/lasx/lasx-xvffint-1.c | 375 ++++ .../loongarch/vector/lasx/lasx-xvffint-2.c | 246 +++ .../loongarch/vector/lasx/lasx-xvffinth.c | 262 +++ .../loongarch/vector/lasx/lasx-xvfrint_d.c | 429 +++++ .../loongarch/vector/lasx/lasx-xvfrint_s.c | 723 ++++++++ .../loongarch/vector/lasx/lasx-xvftint-1.c | 471 +++++ .../loongarch/vector/lasx/lasx-xvftint-2.c | 1565 ++++++++++++++++ .../loongarch/vector/lasx/lasx-xvftint-3.c | 511 ++++++ .../loongarch/vector/lasx/lasx-xvftintl.c | 1580 +++++++++++++++++ 11 files changed, 7175 insertions(+) create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c create mode 100644 gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c new file mode 100644 index 00000000000..116399a7c25 --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvt.c @@ -0,0 +1,528 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_op1[7]) = 0x00000000; + *((int *)&__m256_op1[6]) = 0x00000000; + *((int *)&__m256_op1[5]) = 0x00000000; + *((int *)&__m256_op1[4]) = 0x00000000; + *((int *)&__m256_op1[3]) = 0x00000000; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0x00000000; + *((int *)&__m256_op1[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_op1[7]) = 0x00000000; + *((int *)&__m256_op1[6]) = 0x00000000; + *((int *)&__m256_op1[5]) = 0x00000000; + *((int *)&__m256_op1[4]) = 0x00000000; + *((int *)&__m256_op1[3]) = 0x00000000; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0x00000000; + *((int *)&__m256_op1[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_op1[7]) = 0x00000003; + *((int *)&__m256_op1[6]) = 0x0000000c; + *((int *)&__m256_op1[5]) = 0x00000011; + *((int *)&__m256_op1[4]) = 0x00000000; + *((int *)&__m256_op1[3]) = 0x00000005; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0x00000008; + *((int *)&__m256_op1[0]) = 0x00000010; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x6d6d6d6d; + *((int *)&__m256_op0[6]) = 0x6d6d6d6d; + *((int *)&__m256_op0[5]) = 0x6d6d6d6d; + *((int *)&__m256_op0[4]) = 0x6d6d6d6d; + *((int *)&__m256_op0[3]) = 0x6d6d6d6d; + *((int *)&__m256_op0[2]) = 0x6d6d6d6d; + *((int *)&__m256_op0[1]) = 0x6d6d6d6d; + *((int *)&__m256_op0[0]) = 0x6d6d6d6d; + *((int *)&__m256_op1[7]) = 0x6d6d6d6d; + *((int *)&__m256_op1[6]) = 0x6d6d6d6d; + *((int *)&__m256_op1[5]) = 0x6d6d6d6d; + *((int *)&__m256_op1[4]) = 0x6d6d6d6d; + *((int *)&__m256_op1[3]) = 0x6d6d6d6d; + *((int *)&__m256_op1[2]) = 0x6d6d6d6d; + *((int *)&__m256_op1[1]) = 0x6d6d6d6d; + *((int *)&__m256_op1[0]) = 0x6d6d6d6d; + *((unsigned long *)&__m256i_result[3]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256i_result[2]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256i_result[1]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256i_result[0]) = 0x7c007c007c007c00; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_op1[7]) = 0x00000000; + *((int *)&__m256_op1[6]) = 0x00000000; + *((int *)&__m256_op1[5]) = 0x00000000; + *((int *)&__m256_op1[4]) = 0x00000000; + *((int *)&__m256_op1[3]) = 0x00000000; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0x00000000; + *((int *)&__m256_op1[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_op1[7]) = 0x00000000; + *((int *)&__m256_op1[6]) = 0x00000000; + *((int *)&__m256_op1[5]) = 0x00000000; + *((int *)&__m256_op1[4]) = 0x00000000; + *((int *)&__m256_op1[3]) = 0x00000000; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0x00000000; + *((int *)&__m256_op1[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_op1[7]) = 0x00020000; + *((int *)&__m256_op1[6]) = 0x00020000; + *((int *)&__m256_op1[5]) = 0x00020000; + *((int *)&__m256_op1[4]) = 0x00010000; + *((int *)&__m256_op1[3]) = 0x00020000; + *((int *)&__m256_op1[2]) = 0x00020000; + *((int *)&__m256_op1[1]) = 0x00020000; + *((int *)&__m256_op1[0]) = 0x00010000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_op1[7]) = 0x00000000; + *((int *)&__m256_op1[6]) = 0x00000000; + *((int *)&__m256_op1[5]) = 0x00000000; + *((int *)&__m256_op1[4]) = 0x00000000; + *((int *)&__m256_op1[3]) = 0x00000000; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0x00000000; + *((int *)&__m256_op1[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_op1[7]) = 0x71717171; + *((int *)&__m256_op1[6]) = 0x71010101; + *((int *)&__m256_op1[5]) = 0x8e8e8e8e; + *((int *)&__m256_op1[4]) = 0x8f00ffff; + *((int *)&__m256_op1[3]) = 0x71717171; + *((int *)&__m256_op1[2]) = 0x71010101; + *((int *)&__m256_op1[1]) = 0x8e8e8e8e; + *((int *)&__m256_op1[0]) = 0x8f00ffff; + *((unsigned long *)&__m256i_result[3]) = 0x00000000ffffffff; + *((unsigned long *)&__m256i_result[2]) = 0x7c007c0080008000; + *((unsigned long *)&__m256i_result[1]) = 0x00000000ffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x7c007c0080008000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xfff10000; + *((int *)&__m256_op0[4]) = 0xfff10000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xfff10000; + *((int *)&__m256_op0[0]) = 0xfff10000; + *((int *)&__m256_op1[7]) = 0x00000000; + *((int *)&__m256_op1[6]) = 0x00000000; + *((int *)&__m256_op1[5]) = 0xfff10000; + *((int *)&__m256_op1[4]) = 0xfff10000; + *((int *)&__m256_op1[3]) = 0x00000000; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0xfff10000; + *((int *)&__m256_op1[0]) = 0xfff10000; + *((unsigned long *)&__m256i_result[3]) = 0x00000000ff88ff88; + *((unsigned long *)&__m256i_result[2]) = 0x00000000ff88ff88; + *((unsigned long *)&__m256i_result[1]) = 0x00000000ff88ff88; + *((unsigned long *)&__m256i_result[0]) = 0x00000000ff88ff88; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00040000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00040000; + *((int *)&__m256_op1[7]) = 0x00000000; + *((int *)&__m256_op1[6]) = 0x00000000; + *((int *)&__m256_op1[5]) = 0x00000000; + *((int *)&__m256_op1[4]) = 0x00000000; + *((int *)&__m256_op1[3]) = 0x00000000; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0x00000000; + *((int *)&__m256_op1[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xff00ff00; + *((int *)&__m256_op0[6]) = 0x3f003f00; + *((int *)&__m256_op0[5]) = 0xff0101fd; + *((int *)&__m256_op0[4]) = 0x00010100; + *((int *)&__m256_op0[3]) = 0xff00ff00; + *((int *)&__m256_op0[2]) = 0x3f003f00; + *((int *)&__m256_op0[1]) = 0xff0101fd; + *((int *)&__m256_op0[0]) = 0x00010100; + *((int *)&__m256_op1[7]) = 0x01ffff43; + *((int *)&__m256_op1[6]) = 0x00fffeff; + *((int *)&__m256_op1[5]) = 0xfe0000bc; + *((int *)&__m256_op1[4]) = 0xff000100; + *((int *)&__m256_op1[3]) = 0x01ffff43; + *((int *)&__m256_op1[2]) = 0x00fffeff; + *((int *)&__m256_op1[1]) = 0xfe0000bc; + *((int *)&__m256_op1[0]) = 0xff000100; + *((unsigned long *)&__m256i_result[3]) = 0xfc003802fc000000; + *((unsigned long *)&__m256i_result[2]) = 0x00000000fc00fc00; + *((unsigned long *)&__m256i_result[1]) = 0xfc003802fc000000; + *((unsigned long *)&__m256i_result[0]) = 0x00000000fc00fc00; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_op1[7]) = 0x00000000; + *((int *)&__m256_op1[6]) = 0x00000000; + *((int *)&__m256_op1[5]) = 0x00000000; + *((int *)&__m256_op1[4]) = 0x00000000; + *((int *)&__m256_op1[3]) = 0x00000000; + *((int *)&__m256_op1[2]) = 0x00000000; + *((int *)&__m256_op1[1]) = 0x00000000; + *((int *)&__m256_op1[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvfcvt_h_s (__m256_op0, __m256_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0cc08723ff900001; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xcc9b89f2f6cef440; + *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[2]) = 0xffffffff00000000; + *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[0]) = 0xffffffff00000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0xffffffff; + *((int *)&__m256_result[4]) = 0xfffffff8; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xff800000; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xfffffff8; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0000ffff; + *((unsigned long *)&__m256d_op0[2]) = 0x0000ffff0000ffff; + *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff0000ffff; + *((unsigned long *)&__m256d_op0[0]) = 0x0000ffff0000ffff; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0xffffffff; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xdbc8000000003fff; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0xdbc8000000003fff; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0xff800000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0xff800000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0xff800000ff800000; + *((unsigned long *)&__m256d_op1[2]) = 0xff800000ff800000; + *((unsigned long *)&__m256d_op1[1]) = 0xff800000ff800000; + *((unsigned long *)&__m256d_op1[0]) = 0xff800000ff800000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0xff800000; + *((int *)&__m256_result[4]) = 0xff800000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0xff800000; + *((int *)&__m256_result[0]) = 0xff800000; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0000ffff; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff0000ffff; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0xf7f8f7f8f800f800; + *((unsigned long *)&__m256d_op1[2]) = 0x00003f784000ff80; + *((unsigned long *)&__m256d_op1[1]) = 0xf7f8f7f84000fff9; + *((unsigned long *)&__m256d_op1[0]) = 0x00003f784000ff80; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0xff800000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0xff800000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000555500005555; + *((unsigned long *)&__m256d_op0[2]) = 0x0000555500005555; + *((unsigned long *)&__m256d_op0[1]) = 0x0000555500005555; + *((unsigned long *)&__m256d_op0[0]) = 0x0000555500005555; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0xffffffffb6804cb9; + *((unsigned long *)&__m256d_op1[2]) = 0xffffffffb7bbdec0; + *((unsigned long *)&__m256d_op1[1]) = 0xffffffffb680489b; + *((unsigned long *)&__m256d_op1[0]) = 0xffffffffb7bc02a0; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0xfffffffd; + *((int *)&__m256_result[4]) = 0xfffffffd; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0xfffffffd; + *((int *)&__m256_result[0]) = 0xfffffffd; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0101010202020203; + *((unsigned long *)&__m256d_op1[2]) = 0x0101010201010102; + *((unsigned long *)&__m256d_op1[1]) = 0x0101010202020203; + *((unsigned long *)&__m256d_op1[0]) = 0x0101010201010102; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x3fff3fff3fff3fff; + *((unsigned long *)&__m256d_op1[2]) = 0x3fff3fff3fff3fc4; + *((unsigned long *)&__m256d_op1[1]) = 0x3fff3fff3fff3fff; + *((unsigned long *)&__m256d_op1[0]) = 0x3fff3fff3fff3fc4; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x3ff9fffa; + *((int *)&__m256_result[4]) = 0x3ff9fffa; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x3ff9fffa; + *((int *)&__m256_result[0]) = 0x3ff9fffa; + __m256_out = __lasx_xvfcvt_s_d (__m256d_op0, __m256d_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c new file mode 100644 index 00000000000..001ce1c69f6 --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfcvth.c @@ -0,0 +1,485 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvth_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvth_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x0000aaaa; + *((int *)&__m256_op0[6]) = 0x00008bfe; + *((int *)&__m256_op0[5]) = 0x0000aaaa; + *((int *)&__m256_op0[4]) = 0x0000aaaa; + *((int *)&__m256_op0[3]) = 0x0000aaaa; + *((int *)&__m256_op0[2]) = 0x00008bfe; + *((int *)&__m256_op0[1]) = 0x0000aaaa; + *((int *)&__m256_op0[0]) = 0x0000aaaa; + *((unsigned long *)&__m256d_result[3]) = 0x3795554000000000; + *((unsigned long *)&__m256d_result[2]) = 0x37917fc000000000; + *((unsigned long *)&__m256d_result[1]) = 0x3795554000000000; + *((unsigned long *)&__m256d_result[0]) = 0x37917fc000000000; + __m256d_out = __lasx_xvfcvth_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0404010008080808; + *((unsigned long *)&__m256i_op0[2]) = 0x0408010008080808; + *((unsigned long *)&__m256i_op0[1]) = 0x0404010008080808; + *((unsigned long *)&__m256i_op0[0]) = 0x0408010008080808; + *((int *)&__m256_result[7]) = 0x38808000; + *((int *)&__m256_result[6]) = 0x37800000; + *((int *)&__m256_result[5]) = 0x39010000; + *((int *)&__m256_result[4]) = 0x39010000; + *((int *)&__m256_result[3]) = 0x38808000; + *((int *)&__m256_result[2]) = 0x37800000; + *((int *)&__m256_result[1]) = 0x39010000; + *((int *)&__m256_result[0]) = 0x39010000; + __m256_out = __lasx_xvfcvth_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvth_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvth_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000080; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvth_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvth_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[2]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[0]) = 0xffffffffe0000000; + __m256d_out = __lasx_xvfcvth_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x8000800080008000; + *((unsigned long *)&__m256i_op0[2]) = 0x000100010001fffe; + *((unsigned long *)&__m256i_op0[1]) = 0x8000800080008000; + *((unsigned long *)&__m256i_op0[0]) = 0x000100010001fffe; + *((int *)&__m256_result[7]) = 0x80000000; + *((int *)&__m256_result[6]) = 0x80000000; + *((int *)&__m256_result[5]) = 0x80000000; + *((int *)&__m256_result[4]) = 0x80000000; + *((int *)&__m256_result[3]) = 0x80000000; + *((int *)&__m256_result[2]) = 0x80000000; + *((int *)&__m256_result[1]) = 0x80000000; + *((int *)&__m256_result[0]) = 0x80000000; + __m256_out = __lasx_xvfcvth_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000100; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvth_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00020006; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00020006; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00020006; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00020006; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x37b0003000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x37b0003000000000; + __m256d_out = __lasx_xvfcvth_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0xfffffff0; + *((int *)&__m256_op0[6]) = 0xfffffff0; + *((int *)&__m256_op0[5]) = 0xfffffff0; + *((int *)&__m256_op0[4]) = 0xfffffff0; + *((int *)&__m256_op0[3]) = 0xfffffff0; + *((int *)&__m256_op0[2]) = 0xfffffff0; + *((int *)&__m256_op0[1]) = 0xfffffff0; + *((int *)&__m256_op0[0]) = 0xfffffff0; + *((unsigned long *)&__m256d_result[3]) = 0xfffffffe00000000; + *((unsigned long *)&__m256d_result[2]) = 0xfffffffe00000000; + *((unsigned long *)&__m256d_result[1]) = 0xfffffffe00000000; + *((unsigned long *)&__m256d_result[0]) = 0xfffffffe00000000; + __m256d_out = __lasx_xvfcvth_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[2]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[0]) = 0xffffffffe0000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xf001000100010001; + *((unsigned long *)&__m256i_op0[2]) = 0xf000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0xf001000100010001; + *((unsigned long *)&__m256i_op0[0]) = 0xf000000000000000; + *((int *)&__m256_result[7]) = 0xc6000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0xc6000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xc080ffff0049ffd2; + *((unsigned long *)&__m256i_op0[2]) = 0x0002ff80ffb70000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000fffeffb9ff9d; + *((unsigned long *)&__m256i_op0[0]) = 0x00010000002fff9e; + *((int *)&__m256_result[7]) = 0x34000000; + *((int *)&__m256_result[6]) = 0xfff00000; + *((int *)&__m256_result[5]) = 0xfff6e000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x33800000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x363c0000; + *((int *)&__m256_result[0]) = 0xfff3c000; + __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x80000000; + *((int *)&__m256_op0[6]) = 0x80000000; + *((int *)&__m256_op0[5]) = 0x80000000; + *((int *)&__m256_op0[4]) = 0xff800000; + *((int *)&__m256_op0[3]) = 0x80000000; + *((int *)&__m256_op0[2]) = 0x80000000; + *((int *)&__m256_op0[1]) = 0x80000000; + *((int *)&__m256_op0[0]) = 0xff800000; + *((unsigned long *)&__m256d_result[3]) = 0x8000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0xfff0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x8000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0xfff0000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x41dfffffffc00000; + *((unsigned long *)&__m256i_op0[2]) = 0xc1d75053f0000000; + *((unsigned long *)&__m256i_op0[1]) = 0x41dfffffffc00000; + *((unsigned long *)&__m256i_op0[0]) = 0xc1d75053f0000000; + *((int *)&__m256_result[7]) = 0xc03ae000; + *((int *)&__m256_result[6]) = 0x420a6000; + *((int *)&__m256_result[5]) = 0xc6000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0xc03ae000; + *((int *)&__m256_result[2]) = 0x420a6000; + *((int *)&__m256_result[1]) = 0xc6000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x03802fc000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x03802fc000000000; + *((int *)&__m256_result[7]) = 0x38600000; + *((int *)&__m256_result[6]) = 0x3df80000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x38600000; + *((int *)&__m256_result[2]) = 0x3df80000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfcvtl_s_h (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[2]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffe0000000; + *((unsigned long *)&__m256d_result[0]) = 0xffffffffe0000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfcvtl_d_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c new file mode 100644 index 00000000000..dd04fd788b1 --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-1.c @@ -0,0 +1,375 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[3]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0xbff0000000000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000001700080; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000001700080; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x4177000800000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x4177000800000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[2]) = 0xffffffff00000000; + *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[0]) = 0xffffffff00000000; + *((unsigned long *)&__m256d_result[3]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0xc1f0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0xc1f0000000000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x01fe01fe01fe01fe; + *((unsigned long *)&__m256i_op0[2]) = 0x01fe01fe01fe01fe; + *((unsigned long *)&__m256i_op0[1]) = 0x01fe01fe01fe01fe; + *((unsigned long *)&__m256i_op0[0]) = 0x01fe01fe01fe01fe; + *((unsigned long *)&__m256d_result[3]) = 0x437fe01fe01fe020; + *((unsigned long *)&__m256d_result[2]) = 0x437fe01fe01fe020; + *((unsigned long *)&__m256d_result[1]) = 0x437fe01fe01fe020; + *((unsigned long *)&__m256d_result[0]) = 0x437fe01fe01fe020; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x04e8296f18181818; + *((unsigned long *)&__m256i_op0[2]) = 0x132feea900000000; + *((unsigned long *)&__m256i_op0[1]) = 0x04e8296f18181818; + *((unsigned long *)&__m256i_op0[0]) = 0x132feea900000000; + *((unsigned long *)&__m256d_result[3]) = 0x4393a0a5bc606060; + *((unsigned long *)&__m256d_result[2]) = 0x43b32feea9000000; + *((unsigned long *)&__m256d_result[1]) = 0x4393a0a5bc606060; + *((unsigned long *)&__m256d_result[0]) = 0x43b32feea9000000; + __m256d_out = __lasx_xvffint_d_l (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x372e9d75e8aab100; + *((unsigned long *)&__m256i_op0[2]) = 0xc5c085372cfabfba; + *((unsigned long *)&__m256i_op0[1]) = 0x31730b5beb7c99f5; + *((unsigned long *)&__m256i_op0[0]) = 0x0658f2dc0eb21e3c; + *((int *)&__m256_result[7]) = 0x4e5cba76; + *((int *)&__m256_result[6]) = 0xcdbaaa78; + *((int *)&__m256_result[5]) = 0xce68fdeb; + *((int *)&__m256_result[4]) = 0x4e33eaff; + *((int *)&__m256_result[3]) = 0x4e45cc2d; + *((int *)&__m256_result[2]) = 0xcda41b30; + *((int *)&__m256_result[1]) = 0x4ccb1e5c; + *((int *)&__m256_result[0]) = 0x4d6b21e4; + __m256_out = __lasx_xvffint_s_w (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_w (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_w (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_w (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_w (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x000000007fff0000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000008000; + *((unsigned long *)&__m256i_op0[1]) = 0x000000007fff0000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000008000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x4efffe00; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x47000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x4efffe00; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x47000000; + __m256_out = __lasx_xvffint_s_w (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x000000000000ff00; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x000000000000ff00; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x477f0000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x477f0000; + __m256_out = __lasx_xvffint_s_w (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0010001000030000; + *((unsigned long *)&__m256i_op0[2]) = 0x0010001000030000; + *((unsigned long *)&__m256i_op0[1]) = 0x0010001000030000; + *((unsigned long *)&__m256i_op0[0]) = 0x0010001000030000; + *((int *)&__m256_result[7]) = 0x49800080; + *((int *)&__m256_result[6]) = 0x48400000; + *((int *)&__m256_result[5]) = 0x49800080; + *((int *)&__m256_result[4]) = 0x48400000; + *((int *)&__m256_result[3]) = 0x49800080; + *((int *)&__m256_result[2]) = 0x48400000; + *((int *)&__m256_result[1]) = 0x49800080; + *((int *)&__m256_result[0]) = 0x48400000; + __m256_out = __lasx_xvffint_s_w (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[0]) = 0x00000000ffffffff; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x4f800000; + __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op1[3]) = 0xffffc74180000000; + *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[1]) = 0xffff884580000000; + *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0xbf800000; + *((int *)&__m256_result[6]) = 0xbf800000; + *((int *)&__m256_result[5]) = 0xd662fa00; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0xbf800000; + *((int *)&__m256_result[2]) = 0xbf800000; + *((int *)&__m256_result[1]) = 0xd6ef7500; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x8000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000005000000020; + *((unsigned long *)&__m256i_op0[1]) = 0x8000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000005000000020; + *((unsigned long *)&__m256i_op1[3]) = 0x00ff00ff00ff00ff; + *((unsigned long *)&__m256i_op1[2]) = 0x00ff00ff000c0000; + *((unsigned long *)&__m256i_op1[1]) = 0x00ff00ff00ff00ff; + *((unsigned long *)&__m256i_op1[0]) = 0x00ff00ff00040000; + *((int *)&__m256_result[7]) = 0xdf000000; + *((int *)&__m256_result[6]) = 0x52a00000; + *((int *)&__m256_result[5]) = 0x5b7f00ff; + *((int *)&__m256_result[4]) = 0x5b7f00ff; + *((int *)&__m256_result[3]) = 0xdf000000; + *((int *)&__m256_result[2]) = 0x52a00000; + *((int *)&__m256_result[1]) = 0x5b7f00ff; + *((int *)&__m256_result[0]) = 0x5b7f00ff; + __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0a0a0a0a7f0a0a0a; + *((unsigned long *)&__m256i_op0[2]) = 0x0a0a0a0a7f0a0a0a; + *((unsigned long *)&__m256i_op0[1]) = 0x0a0a0a0a7f0a0a0a; + *((unsigned long *)&__m256i_op0[0]) = 0x0a0a0a0a7f0a0a0a; + *((unsigned long *)&__m256i_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op1[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x5d20a0a1; + *((int *)&__m256_result[6]) = 0x5d20a0a1; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x5d20a0a1; + *((int *)&__m256_result[2]) = 0x5d20a0a1; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_l (__m256i_op0, __m256i_op1); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c new file mode 100644 index 00000000000..3e2b15507ac --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffint-2.c @@ -0,0 +1,246 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0101000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0101000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x4370100000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x4370100000000000; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x2020202020202020; + *((unsigned long *)&__m256i_op0[2]) = 0x2020202020206431; + *((unsigned long *)&__m256i_op0[1]) = 0x2020202020202020; + *((unsigned long *)&__m256i_op0[0]) = 0x2020202020206431; + *((unsigned long *)&__m256d_result[3]) = 0x43c0101010101010; + *((unsigned long *)&__m256d_result[2]) = 0x43c0101010101032; + *((unsigned long *)&__m256d_result[1]) = 0x43c0101010101010; + *((unsigned long *)&__m256d_result[0]) = 0x43c0101010101032; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x40efffe09fa88260; + *((unsigned long *)&__m256i_op0[2]) = 0x6b07ca8e013fbf01; + *((unsigned long *)&__m256i_op0[1]) = 0x40efffe09fa7e358; + *((unsigned long *)&__m256i_op0[0]) = 0x80ce32be3e827f00; + *((unsigned long *)&__m256d_result[3]) = 0x43d03bfff827ea21; + *((unsigned long *)&__m256d_result[2]) = 0x43dac1f2a3804ff0; + *((unsigned long *)&__m256d_result[1]) = 0x43d03bfff827e9f9; + *((unsigned long *)&__m256d_result[0]) = 0x43e019c657c7d050; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[3]) = 0x43f0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x43f0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x43f0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x43f0000000000000; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000100000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000100000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000100000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000; + *((unsigned long *)&__m256d_result[3]) = 0x41f0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x41f0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x41f0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x41f0000000000000; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0202010202020102; + *((unsigned long *)&__m256i_op0[2]) = 0x0202010202020102; + *((unsigned long *)&__m256i_op0[1]) = 0x0202010202020102; + *((unsigned long *)&__m256i_op0[0]) = 0x0202010202020102; + *((unsigned long *)&__m256d_result[3]) = 0x4380100810101008; + *((unsigned long *)&__m256d_result[2]) = 0x4380100810101008; + *((unsigned long *)&__m256d_result[1]) = 0x4380100810101008; + *((unsigned long *)&__m256d_result[0]) = 0x4380100810101008; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000100000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x41f0000000000000; + __m256d_out = __lasx_xvffint_d_lu (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[2]) = 0xffffbf7f00007fff; + *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[0]) = 0xffffe651ffffbfff; + *((int *)&__m256_result[7]) = 0x4f800000; + *((int *)&__m256_result[6]) = 0x4f800000; + *((int *)&__m256_result[5]) = 0x4f7fffbf; + *((int *)&__m256_result[4]) = 0x46fffe00; + *((int *)&__m256_result[3]) = 0x4f800000; + *((int *)&__m256_result[2]) = 0x4f800000; + *((int *)&__m256_result[1]) = 0x4f7fffe6; + *((int *)&__m256_result[0]) = 0x4f7fffc0; + __m256_out = __lasx_xvffint_s_wu (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0101010101010101; + *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffefd; + *((unsigned long *)&__m256i_op0[1]) = 0x0101010101010101; + *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff; + *((int *)&__m256_result[7]) = 0x4b808080; + *((int *)&__m256_result[6]) = 0x4b808080; + *((int *)&__m256_result[5]) = 0x4f800000; + *((int *)&__m256_result[4]) = 0x4f7fffff; + *((int *)&__m256_result[3]) = 0x4b808080; + *((int *)&__m256_result[2]) = 0x4b808080; + *((int *)&__m256_result[1]) = 0x4f800000; + *((int *)&__m256_result[0]) = 0x4f800000; + __m256_out = __lasx_xvffint_s_wu (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_wu (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_wu (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000008; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000008; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000008; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000008; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x41000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x41000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x41000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x41000000; + __m256_out = __lasx_xvffint_s_wu (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000040; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000020; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000040; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000020; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x42800000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x42000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x42800000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x42000000; + __m256_out = __lasx_xvffint_s_wu (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvffint_s_wu (__m256i_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c new file mode 100644 index 00000000000..e310ff5ee11 --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvffinth.c @@ -0,0 +1,262 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((unsigned long *)&__m256i_op0[3]) = 0x0e2d5626ff75cdbc; + *((unsigned long *)&__m256i_op0[2]) = 0x5db4b156e2002a78; + *((unsigned long *)&__m256i_op0[1]) = 0xeeffbeb03ba3e6b0; + *((unsigned long *)&__m256i_op0[0]) = 0x0c16e25eb28d27ea; + *((unsigned long *)&__m256d_result[3]) = 0x41ac5aac4c000000; + *((unsigned long *)&__m256d_result[2]) = 0xc161464880000000; + *((unsigned long *)&__m256d_result[1]) = 0xc1b1004150000000; + *((unsigned long *)&__m256d_result[0]) = 0x41cdd1f358000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x8000006f0000007f; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x8000006f0000007f; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xe161616161616161; + *((unsigned long *)&__m256i_op0[2]) = 0xe161616161614e60; + *((unsigned long *)&__m256i_op0[1]) = 0xe161616161616161; + *((unsigned long *)&__m256i_op0[0]) = 0xe161616161614e60; + *((unsigned long *)&__m256d_result[3]) = 0xc1be9e9e9f000000; + *((unsigned long *)&__m256d_result[2]) = 0x41d8585858400000; + *((unsigned long *)&__m256d_result[1]) = 0xc1be9e9e9f000000; + *((unsigned long *)&__m256d_result[0]) = 0x41d8585858400000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x7fff000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x7fff000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x7fff7fff00000000; + *((unsigned long *)&__m256i_op0[0]) = 0x7fff7fff00000000; + *((unsigned long *)&__m256d_result[3]) = 0x41dfffc000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x41dfffdfffc00000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x00000000007f3a40; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffb79fb74; + *((unsigned long *)&__m256i_op0[2]) = 0xfffffffffffffffa; + *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffb79fb74; + *((unsigned long *)&__m256i_op0[0]) = 0xfffffffffffffffa; + *((unsigned long *)&__m256d_result[3]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0xc192181230000000; + *((unsigned long *)&__m256d_result[1]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0xc192181230000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[3]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0xbff0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0xbff0000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000ffff00000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000ff0000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000ffff00000000; + *((unsigned long *)&__m256i_op0[0]) = 0x000000ffffffff00; + *((unsigned long *)&__m256d_result[3]) = 0x40efffe000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x40efffe000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x7ff0000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x7ff0000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x7ff0000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x41dffc0000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x41dffc0000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xffffffe7ffffffe7; + *((unsigned long *)&__m256i_op0[2]) = 0xffffffe7ffffffe7; + *((unsigned long *)&__m256i_op0[1]) = 0xffffffe7ffffffe7; + *((unsigned long *)&__m256i_op0[0]) = 0xffffffe7ffffffe7; + *((unsigned long *)&__m256d_result[3]) = 0xc039000000000000; + *((unsigned long *)&__m256d_result[2]) = 0xc039000000000000; + *((unsigned long *)&__m256d_result[1]) = 0xc039000000000000; + *((unsigned long *)&__m256d_result[0]) = 0xc039000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffinth_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x5980000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x5980000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x41d6600000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x41d6600000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffintl_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffintl_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000022beb03f; + *((unsigned long *)&__m256i_op0[2]) = 0x7fffffffa2beb040; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000022beb03f; + *((unsigned long *)&__m256i_op0[0]) = 0x7fffffffa2beb040; + *((unsigned long *)&__m256d_result[3]) = 0x41dfffffffc00000; + *((unsigned long *)&__m256d_result[2]) = 0xc1d75053f0000000; + *((unsigned long *)&__m256d_result[1]) = 0x41dfffffffc00000; + *((unsigned long *)&__m256d_result[0]) = 0xc1d75053f0000000; + __m256d_out = __lasx_xvffintl_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x000000000000001f; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x000000000000001f; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x403f000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x403f000000000000; + __m256d_out = __lasx_xvffintl_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvffintl_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x00f7000000f70006; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x00f7000000f70006; + *((unsigned long *)&__m256d_result[3]) = 0x416ee00000000000; + *((unsigned long *)&__m256d_result[2]) = 0x416ee000c0000000; + *((unsigned long *)&__m256d_result[1]) = 0x416ee00000000000; + *((unsigned long *)&__m256d_result[0]) = 0x416ee000c0000000; + __m256d_out = __lasx_xvffintl_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[2]) = 0x00ff000000000080; + *((unsigned long *)&__m256i_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_op0[0]) = 0x00ff000000000080; + *((unsigned long *)&__m256d_result[3]) = 0x416fe00000000000; + *((unsigned long *)&__m256d_result[2]) = 0x4060000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x416fe00000000000; + *((unsigned long *)&__m256d_result[0]) = 0x4060000000000000; + __m256d_out = __lasx_xvffintl_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256i_op0[3]) = 0xfffffffffc01fc01; + *((unsigned long *)&__m256i_op0[2]) = 0x000000003fc03bbc; + *((unsigned long *)&__m256i_op0[1]) = 0xfffffffffc01fc01; + *((unsigned long *)&__m256i_op0[0]) = 0x000000003fc03bbc; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x41cfe01dde000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x41cfe01dde000000; + __m256d_out = __lasx_xvffintl_d_w (__m256i_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c new file mode 100644 index 00000000000..4babf163898 --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_d.c @@ -0,0 +1,429 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +/* { dg-timeout 500 } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrint_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x0); + *((unsigned long *)&__m256d_op0[3]) = 0xfffefffe00000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0xfffefffefffefffd; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0xfffefffe00000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0xfffefffefffefffd; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrint_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000008050501; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000008050501; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrint_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff; + __m256d_out = __lasx_xvfrint_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000008; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000008; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000008; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000008; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrint_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_op0[0]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_result[3]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_result[2]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_result[1]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_result[0]) = 0xfffffffffffffff8; + __m256d_out = __lasx_xvfrint_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrne_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000080008001; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000080008001; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrne_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x00000000ffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0x7c00000880008000; + *((unsigned long *)&__m256d_op0[1]) = 0x00000000ffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0x7c00000880008000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x7c00000880008000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x7c00000880008000; + __m256d_out = __lasx_xvfrintrne_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrne_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x6018000000000cd1; + *((unsigned long *)&__m256d_op0[2]) = 0x6040190d00000000; + *((unsigned long *)&__m256d_op0[1]) = 0x6018000000000cd1; + *((unsigned long *)&__m256d_op0[0]) = 0x6040190d00000000; + *((unsigned long *)&__m256d_result[3]) = 0x6018000000000cd1; + *((unsigned long *)&__m256d_result[2]) = 0x6040190d00000000; + *((unsigned long *)&__m256d_result[1]) = 0x6018000000000cd1; + *((unsigned long *)&__m256d_result[0]) = 0x6040190d00000000; + __m256d_out = __lasx_xvfrintrne_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x3eab77367fff4848; + *((unsigned long *)&__m256d_op0[2]) = 0x408480007fff0000; + *((unsigned long *)&__m256d_op0[1]) = 0x3eab77367fff4848; + *((unsigned long *)&__m256d_op0[0]) = 0x408480007fff0000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x4084800000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x4084800000000000; + __m256d_out = __lasx_xvfrintrne_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffff0001ffff0001; + *((unsigned long *)&__m256d_op0[2]) = 0xffff0001ffff0001; + *((unsigned long *)&__m256d_op0[1]) = 0xffff0001ffff0001; + *((unsigned long *)&__m256d_op0[0]) = 0xffff0001ffff0001; + *((unsigned long *)&__m256d_result[3]) = 0xffff0001ffff0001; + *((unsigned long *)&__m256d_result[2]) = 0xffff0001ffff0001; + *((unsigned long *)&__m256d_result[1]) = 0xffff0001ffff0001; + *((unsigned long *)&__m256d_result[0]) = 0xffff0001ffff0001; + __m256d_out = __lasx_xvfrintrne_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x3fffbfff80000000; + *((unsigned long *)&__m256d_op0[2]) = 0x00004000007f8000; + *((unsigned long *)&__m256d_op0[1]) = 0x3fffbfff80000000; + *((unsigned long *)&__m256d_op0[0]) = 0x00004000007f8000; + *((unsigned long *)&__m256d_result[3]) = 0x4000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x4000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrne_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000ffff00010000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000ffff00010000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x3ff0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x3ff0000000000000; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xfffffefefffffefe; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xfffffefe00000000; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[2]) = 0xfffffefefffffefe; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[0]) = 0xfffffefe00000000; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x000100da000100fd; + *((unsigned long *)&__m256d_op0[2]) = 0x0001ffe20001fefd; + *((unsigned long *)&__m256d_op0[1]) = 0x0001009a000100fd; + *((unsigned long *)&__m256d_op0[0]) = 0x0001ff640001fefd; + *((unsigned long *)&__m256d_result[3]) = 0x3ff0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x3ff0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x3ff0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x3ff0000000000000; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffffc; + *((unsigned long *)&__m256d_op0[2]) = 0x01fc03fc01fc03fc; + *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffffc; + *((unsigned long *)&__m256d_op0[0]) = 0x01fc03fc01fc03fc; + *((unsigned long *)&__m256d_result[3]) = 0xfffffffffffffffc; + *((unsigned long *)&__m256d_result[2]) = 0x3ff0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0xfffffffffffffffc; + *((unsigned long *)&__m256d_result[0]) = 0x3ff0000000000000; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0218ff78fc38fc38; + *((unsigned long *)&__m256d_op0[2]) = 0xfc00000000000048; + *((unsigned long *)&__m256d_op0[1]) = 0x0218ff78fc38fc38; + *((unsigned long *)&__m256d_op0[0]) = 0xfc00000000000048; + *((unsigned long *)&__m256d_result[3]) = 0x3ff0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0xfc00000000000048; + *((unsigned long *)&__m256d_result[1]) = 0x3ff0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0xfc00000000000048; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x8000800080008000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x8000800080008000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x8000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x8000000000000000; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xfffffff0fffffff0; + *((unsigned long *)&__m256d_op0[2]) = 0xfffffff0fffffff0; + *((unsigned long *)&__m256d_op0[1]) = 0xfffffff0fffffff0; + *((unsigned long *)&__m256d_op0[0]) = 0xfffffff0fffffff0; + *((unsigned long *)&__m256d_result[3]) = 0xfffffff0fffffff0; + *((unsigned long *)&__m256d_result[2]) = 0xfffffff0fffffff0; + *((unsigned long *)&__m256d_result[1]) = 0xfffffff0fffffff0; + *((unsigned long *)&__m256d_result[0]) = 0xfffffff0fffffff0; + __m256d_out = __lasx_xvfrintrp_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x1e18000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x1e18000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x1e18000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x1e18000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrm_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x017e017e01dd61de; + *((unsigned long *)&__m256d_op0[2]) = 0x5d637d043bc4fc43; + *((unsigned long *)&__m256d_op0[1]) = 0x01dcc2dce31bc35d; + *((unsigned long *)&__m256d_op0[0]) = 0x5e041d245b85fc43; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x5d637d043bc4fc43; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x5e041d245b85fc43; + __m256d_out = __lasx_xvfrintrm_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256d_op0[2]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256d_op0[1]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256d_op0[0]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256d_result[3]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256d_result[2]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256d_result[1]) = 0x7c007c007c007c00; + *((unsigned long *)&__m256d_result[0]) = 0x7c007c007c007c00; + __m256d_out = __lasx_xvfrintrm_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff; + __m256d_out = __lasx_xvfrintrm_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrm_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff00000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff00000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrm_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + unsigned_int_out = __lasx_xvpickve2gr_wu (__m256i_op0, 0x5); + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrm_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_result[0]) = 0xffffffffffffffff; + __m256d_out = __lasx_xvfrintrz_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000800000098; + *((unsigned long *)&__m256d_op0[2]) = 0x000000040000ffca; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000800000098; + *((unsigned long *)&__m256d_op0[0]) = 0x000000040000ff79; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrz_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrz_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x7ff0000000000000; + __m256d_out = __lasx_xvfrintrz_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000064; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000781; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000064; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrz_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x000000001ffe2000; + *((unsigned long *)&__m256d_op0[2]) = 0x001fe020001fe020; + *((unsigned long *)&__m256d_op0[1]) = 0x000000001ffe2000; + *((unsigned long *)&__m256d_op0[0]) = 0x001fe020001fe020; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrz_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0101010101010101; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0101010101010101; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_result[0]) = 0x0000000000000000; + __m256d_out = __lasx_xvfrintrz_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256d_result, __m256d_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c new file mode 100644 index 00000000000..9f2fa674776 --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvfrint_s.c @@ -0,0 +1,723 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +/* { dg-timeout 500 } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffff5f5c; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffff605a; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffff5f5c; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffff605a; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xffff5f5c; + *((int *)&__m256_result[5]) = 0xffffffff; + *((int *)&__m256_result[4]) = 0xffff605a; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xffff5f5c; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xffff605a; + __m256_out = __lasx_xvfrint_s (__m256_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xc5c5c5c4; + *((int *)&__m256_op0[6]) = 0xc5c5c5c4; + *((int *)&__m256_op0[5]) = 0x45c5c5c5; + *((int *)&__m256_op0[4]) = 0x45c5c5c5; + *((int *)&__m256_op0[3]) = 0xc5c5c5c4; + *((int *)&__m256_op0[2]) = 0xc5c5c5c4; + *((int *)&__m256_op0[1]) = 0x45c5c5c5; + *((int *)&__m256_op0[0]) = 0x45c5c5c5; + *((int *)&__m256_result[7]) = 0xc5c5c800; + *((int *)&__m256_result[6]) = 0xc5c5c800; + *((int *)&__m256_result[5]) = 0x45c5c800; + *((int *)&__m256_result[4]) = 0x45c5c800; + *((int *)&__m256_result[3]) = 0xc5c5c800; + *((int *)&__m256_result[2]) = 0xc5c5c800; + *((int *)&__m256_result[1]) = 0x45c5c800; + *((int *)&__m256_result[0]) = 0x45c5c800; + __m256_out = __lasx_xvfrint_s (__m256_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xffffffff; + *((int *)&__m256_result[5]) = 0xffffffff; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xffffffff; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfrint_s (__m256_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrint_s (__m256_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0xffff6f20; + *((int *)&__m256_op0[5]) = 0x0000781e; + *((int *)&__m256_op0[4]) = 0x0000f221; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0xffff6f20; + *((int *)&__m256_op0[1]) = 0x0000781e; + *((int *)&__m256_op0[0]) = 0x0000f221; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0xffff6f20; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0xffff6f20; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrint_s (__m256_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0xffffb3b4; + *((int *)&__m256_op0[5]) = 0xfffffff5; + *((int *)&__m256_op0[4]) = 0xffff4738; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0xffffb3b4; + *((int *)&__m256_op0[1]) = 0xfffffff5; + *((int *)&__m256_op0[0]) = 0xffff4738; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0xffffb3b4; + *((int *)&__m256_result[5]) = 0xfffffff5; + *((int *)&__m256_result[4]) = 0xffff4738; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0xffffb3b4; + *((int *)&__m256_result[1]) = 0xfffffff5; + *((int *)&__m256_result[0]) = 0xffff4738; + __m256_out = __lasx_xvfrint_s (__m256_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00ff0000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00ff0000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00ff0000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00ff0000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrint_s (__m256_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00003fea; + *((int *)&__m256_op0[6]) = 0x00013feb; + *((int *)&__m256_op0[5]) = 0x00003fe9; + *((int *)&__m256_op0[4]) = 0x00014022; + *((int *)&__m256_op0[3]) = 0x00003fea; + *((int *)&__m256_op0[2]) = 0x00013feb; + *((int *)&__m256_op0[1]) = 0x00003fe9; + *((int *)&__m256_op0[0]) = 0x00014022; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrint_s (__m256_op0); + ASSERTEQ_32 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrne_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xffffffff; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xffffffff; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrne_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xffffffff; + *((int *)&__m256_result[5]) = 0xffffffff; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xffffffff; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfrintrne_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x01010101; + *((int *)&__m256_op0[6]) = 0x01010101; + *((int *)&__m256_op0[5]) = 0x01010101; + *((int *)&__m256_op0[4]) = 0x00000001; + *((int *)&__m256_op0[3]) = 0x01010101; + *((int *)&__m256_op0[2]) = 0x01010101; + *((int *)&__m256_op0[1]) = 0x01010101; + *((int *)&__m256_op0[0]) = 0x00000001; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrne_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrne_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xffffffff; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xffffffff; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrne_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xffffffff; + *((int *)&__m256_result[5]) = 0xffffffff; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xffffffff; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfrintrne_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x01010101; + *((int *)&__m256_op0[6]) = 0x01010101; + *((int *)&__m256_op0[5]) = 0x01010101; + *((int *)&__m256_op0[4]) = 0x00000001; + *((int *)&__m256_op0[3]) = 0x01010101; + *((int *)&__m256_op0[2]) = 0x01010101; + *((int *)&__m256_op0[1]) = 0x01010101; + *((int *)&__m256_op0[0]) = 0x00000001; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrne_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x55555555; + *((int *)&__m256_op0[6]) = 0x36aaaaac; + *((int *)&__m256_op0[5]) = 0x55555555; + *((int *)&__m256_op0[4]) = 0xaaaaaaac; + *((int *)&__m256_op0[3]) = 0x55555555; + *((int *)&__m256_op0[2]) = 0x36aaaaac; + *((int *)&__m256_op0[1]) = 0x55555555; + *((int *)&__m256_op0[0]) = 0xaaaaaaac; + *((int *)&__m256_result[7]) = 0x55555555; + *((int *)&__m256_result[6]) = 0x3f800000; + *((int *)&__m256_result[5]) = 0x55555555; + *((int *)&__m256_result[4]) = 0x80000000; + *((int *)&__m256_result[3]) = 0x55555555; + *((int *)&__m256_result[2]) = 0x3f800000; + *((int *)&__m256_result[1]) = 0x55555555; + *((int *)&__m256_result[0]) = 0x80000000; + __m256_out = __lasx_xvfrintrp_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrp_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffc741; + *((int *)&__m256_op0[6]) = 0x8a023680; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffff8845; + *((int *)&__m256_op0[2]) = 0xbb954b00; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0xffffc741; + *((int *)&__m256_result[6]) = 0x80000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0xffff8845; + *((int *)&__m256_result[2]) = 0x80000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrp_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0xffffffff; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0xffffffff; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfrintrp_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00200101; + *((int *)&__m256_op0[6]) = 0x01610000; + *((int *)&__m256_op0[5]) = 0x00612000; + *((int *)&__m256_op0[4]) = 0x00610000; + *((int *)&__m256_op0[3]) = 0x00200101; + *((int *)&__m256_op0[2]) = 0x01610000; + *((int *)&__m256_op0[1]) = 0x00612000; + *((int *)&__m256_op0[0]) = 0x00610000; + *((int *)&__m256_result[7]) = 0x3f800000; + *((int *)&__m256_result[6]) = 0x3f800000; + *((int *)&__m256_result[5]) = 0x3f800000; + *((int *)&__m256_result[4]) = 0x3f800000; + *((int *)&__m256_result[3]) = 0x3f800000; + *((int *)&__m256_result[2]) = 0x3f800000; + *((int *)&__m256_result[1]) = 0x3f800000; + *((int *)&__m256_result[0]) = 0x3f800000; + __m256_out = __lasx_xvfrintrp_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xfefefefe; + *((int *)&__m256_op0[4]) = 0x01010101; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xfefefefe; + *((int *)&__m256_op0[0]) = 0x01010101; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0xfefefefe; + *((int *)&__m256_result[4]) = 0x3f800000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0xfefefefe; + *((int *)&__m256_result[0]) = 0x3f800000; + __m256_out = __lasx_xvfrintrp_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x1c1c1c1c; + *((int *)&__m256_op0[6]) = 0x1c1c1c1c; + *((int *)&__m256_op0[5]) = 0xfffffffe; + *((int *)&__m256_op0[4]) = 0xffffff00; + *((int *)&__m256_op0[3]) = 0x1c1c1c1c; + *((int *)&__m256_op0[2]) = 0x1c1c1c1c; + *((int *)&__m256_op0[1]) = 0xfffffffe; + *((int *)&__m256_op0[0]) = 0xffffff00; + *((int *)&__m256_result[7]) = 0x3f800000; + *((int *)&__m256_result[6]) = 0x3f800000; + *((int *)&__m256_result[5]) = 0xfffffffe; + *((int *)&__m256_result[4]) = 0xffffff00; + *((int *)&__m256_result[3]) = 0x3f800000; + *((int *)&__m256_result[2]) = 0x3f800000; + *((int *)&__m256_result[1]) = 0xfffffffe; + *((int *)&__m256_result[0]) = 0xffffff00; + __m256_out = __lasx_xvfrintrp_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000008; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00080000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrm_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrm_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x0000ffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x0000ffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xffffffff; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xffffffff; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfrintrm_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x5d20a0a1; + *((int *)&__m256_op0[6]) = 0x5d20a0a1; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x5d20a0a1; + *((int *)&__m256_op0[2]) = 0x5d20a0a1; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0x5d20a0a1; + *((int *)&__m256_result[6]) = 0x5d20a0a1; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x5d20a0a1; + *((int *)&__m256_result[2]) = 0x5d20a0a1; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrm_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x001d001d; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x001d001d; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrm_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000033; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000033; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrm_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000001; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000001; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrm_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000300; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000303; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrz_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xfffffffe; + *((int *)&__m256_op0[5]) = 0xfffffffe; + *((int *)&__m256_op0[4]) = 0xfffffefc; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xfffffffe; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xfffffffe; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xfffffffe; + *((int *)&__m256_result[5]) = 0xfffffffe; + *((int *)&__m256_result[4]) = 0xfffffefc; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xfffffffe; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xfffffffe; + __m256_out = __lasx_xvfrintrz_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0x00000000; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0x00000000; + __m256_out = __lasx_xvfrintrz_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x0001c4e8; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x0001c4e8; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_result[7]) = 0x00000000; + *((int *)&__m256_result[6]) = 0x00000000; + *((int *)&__m256_result[5]) = 0x00000000; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0x00000000; + *((int *)&__m256_result[2]) = 0x00000000; + *((int *)&__m256_result[1]) = 0x00000000; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfrintrz_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0x80000000; + *((int *)&__m256_op0[6]) = 0x80000000; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x80000000; + *((int *)&__m256_op0[2]) = 0x80000000; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_result[7]) = 0x80000000; + *((int *)&__m256_result[6]) = 0x80000000; + *((int *)&__m256_result[5]) = 0xffffffff; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0x80000000; + *((int *)&__m256_result[2]) = 0x80000000; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfrintrz_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((int *)&__m256_result[7]) = 0xffffffff; + *((int *)&__m256_result[6]) = 0xffffffff; + *((int *)&__m256_result[5]) = 0xffffffff; + *((int *)&__m256_result[4]) = 0xffffffff; + *((int *)&__m256_result[3]) = 0xffffffff; + *((int *)&__m256_result[2]) = 0xffffffff; + *((int *)&__m256_result[1]) = 0xffffffff; + *((int *)&__m256_result[0]) = 0xffffffff; + __m256_out = __lasx_xvfrintrz_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + *((int *)&__m256_op0[7]) = 0xf5fffc00; + *((int *)&__m256_op0[6]) = 0xfc000000; + *((int *)&__m256_op0[5]) = 0xf5fffc00; + *((int *)&__m256_op0[4]) = 0xfc000000; + *((int *)&__m256_op0[3]) = 0xf5fffc00; + *((int *)&__m256_op0[2]) = 0xfc000000; + *((int *)&__m256_op0[1]) = 0xf5fffc00; + *((int *)&__m256_op0[0]) = 0xfc000000; + *((int *)&__m256_result[7]) = 0xf5fffc00; + *((int *)&__m256_result[6]) = 0xfc000000; + *((int *)&__m256_result[5]) = 0xf5fffc00; + *((int *)&__m256_result[4]) = 0xfc000000; + *((int *)&__m256_result[3]) = 0xf5fffc00; + *((int *)&__m256_result[2]) = 0xfc000000; + *((int *)&__m256_result[1]) = 0xf5fffc00; + *((int *)&__m256_result[0]) = 0xfc000000; + __m256_out = __lasx_xvfrintrz_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256_result, __m256_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c new file mode 100644 index 00000000000..c75468d42ee --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-1.c @@ -0,0 +1,471 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffcb423a587053; + *((unsigned long *)&__m256d_op0[2]) = 0x6d46f43e71141b81; + *((unsigned long *)&__m256d_op0[1]) = 0xffffcb423a584528; + *((unsigned long *)&__m256d_op0[0]) = 0x9bdf36c8d78158a1; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x386000003df80000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x386000003df80000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x555555553f800000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x555555553f800000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000080; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000080; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000080; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000080; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x43f0000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x43f0000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x43f0000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x43f0000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffc03b1fc5e050; + *((unsigned long *)&__m256d_op0[2]) = 0x6a9e3fa2603a2000; + *((unsigned long *)&__m256d_op0[1]) = 0xffffc03b1fc5e050; + *((unsigned long *)&__m256d_op0[0]) = 0x6a9e3fa2603a2000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000008; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000008; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffff00000000; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffff00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000100000001; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000100000001; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000100000001; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001; + __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x7f70000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x7f70000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x7f70000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x7f70000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xfffffffe00000001; + *((unsigned long *)&__m256d_op0[2]) = 0xfffffffe00000001; + *((unsigned long *)&__m256d_op0[1]) = 0xfffffffe00000001; + *((unsigned long *)&__m256d_op0[0]) = 0xfffffffe00000001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x8000800080008000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x8000800080008000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xfffe97c020010001; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xfffe97c020010001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x00007f8000007f80; + *((unsigned long *)&__m256d_op0[2]) = 0x00007f8000007f80; + *((unsigned long *)&__m256d_op0[1]) = 0x00007f8000007f80; + *((unsigned long *)&__m256d_op0[0]) = 0x00007f8000007f80; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x555555553f800000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x555555553f800000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x00000000001c9880; + *((unsigned long *)&__m256d_op0[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0x00000000001c9880; + *((unsigned long *)&__m256d_op0[0]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x1828f0e09bad7249; + *((unsigned long *)&__m256d_op0[2]) = 0x07ffc1b723953cec; + *((unsigned long *)&__m256d_op0[1]) = 0x61f2e9b333aab104; + *((unsigned long *)&__m256d_op0[0]) = 0x6bf742aa0d7856a0; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000ffff00010000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000ffff00010000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x00ffffff1e9e9e9e; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffff9e9eb09e; + *((unsigned long *)&__m256d_op0[1]) = 0x00ffffff1e9e9e9e; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffff9e9eb09e; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000001e0007ffff; + *((unsigned long *)&__m256d_op0[2]) = 0x0000001e0007ffff; + *((unsigned long *)&__m256d_op0[1]) = 0x0000001e0007ffff; + *((unsigned long *)&__m256d_op0[0]) = 0x0000001e0007ffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_l_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c new file mode 100644 index 00000000000..ad72f7596bc --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-2.c @@ -0,0 +1,1565 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((int *)&__m256_op0[7]) = 0x0000ffff; + *((int *)&__m256_op0[6]) = 0xc0008001; + *((int *)&__m256_op0[5]) = 0x0000ffff; + *((int *)&__m256_op0[4]) = 0xc0008001; + *((int *)&__m256_op0[3]) = 0x0000ffff; + *((int *)&__m256_op0[2]) = 0xc0008001; + *((int *)&__m256_op0[1]) = 0x0000ffff; + *((int *)&__m256_op0[0]) = 0xc0008001; + *((unsigned long *)&__m256i_result[3]) = 0x00000000fffffffe; + *((unsigned long *)&__m256i_result[2]) = 0x00000000fffffffe; + *((unsigned long *)&__m256i_result[1]) = 0x00000000fffffffe; + *((unsigned long *)&__m256i_result[0]) = 0x00000000fffffffe; + __m256i_out = __lasx_xvftint_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x3f3f3f3c; + *((int *)&__m256_op0[5]) = 0xc6c6c6c6; + *((int *)&__m256_op0[4]) = 0x8787878a; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x3f3f3f3c; + *((int *)&__m256_op0[1]) = 0x8787878a; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[2]) = 0xffff9c9d00000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x1f0fdf7f; + *((int *)&__m256_op0[6]) = 0x3e3b31d4; + *((int *)&__m256_op0[5]) = 0x7ff80000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x1f0fdf7f; + *((int *)&__m256_op0[2]) = 0x3e3b31d4; + *((int *)&__m256_op0[1]) = 0x7ff80000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000200000003; + *((unsigned long *)&__m256d_op1[2]) = 0x0000ffff00010002; + *((unsigned long *)&__m256d_op1[1]) = 0x0080000200000003; + *((unsigned long *)&__m256d_op1[0]) = 0x0000ffff00010002; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x55555555; + *((int *)&__m256_op0[5]) = 0x00000001; + *((int *)&__m256_op0[4]) = 0x00000004; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x55555555; + *((int *)&__m256_op0[1]) = 0x00000001; + *((int *)&__m256_op0[0]) = 0x00000004; + *((unsigned long *)&__m256i_result[3]) = 0x000000007fffffff; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0x00ff00ffff0000ff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0x00ff00ffff0000ff; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x7fe36364661af18f; + *((unsigned long *)&__m256d_op0[2]) = 0x7fe363637fe36364; + *((unsigned long *)&__m256d_op0[1]) = 0x7fe36364661af18f; + *((unsigned long *)&__m256d_op0[0]) = 0x7fe363637fe36364; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffff5; + *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffff5; + *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffff5; + *((unsigned long *)&__m256d_op0[0]) = 0xfffffffffffffff5; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_op0[2]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_op0[1]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_op0[0]) = 0xfffffffffffffff8; + *((unsigned long *)&__m256d_op1[3]) = 0xffffffff00000000; + *((unsigned long *)&__m256d_op1[2]) = 0xffffffff00000000; + *((unsigned long *)&__m256d_op1[1]) = 0xffffffff00000000; + *((unsigned long *)&__m256d_op1[0]) = 0xffffffff00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000007; + *((unsigned long *)&__m256d_op0[2]) = 0x000000020000000b; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000007; + *((unsigned long *)&__m256d_op0[0]) = 0x000000020000000a; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x000000000000000a; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x000000000000000a; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000505; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x40000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x40000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000200000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000200000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[3]) = 0x108659e46485f7e1; + *((unsigned long *)&__m256d_op1[2]) = 0x4df5b1a3ed5e02c1; + *((unsigned long *)&__m256d_op1[1]) = 0x108659e46485f7e1; + *((unsigned long *)&__m256d_op1[0]) = 0x4df5b1a3ed5e02c1; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x000000007fffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000004; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000004040104; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffd1108199; + *((unsigned long *)&__m256d_op0[0]) = 0x00000000714910f9; + *((unsigned long *)&__m256d_op1[3]) = 0x000000030000000c; + *((unsigned long *)&__m256d_op1[2]) = 0x0000001100000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000500000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000800000010; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffff7e; + *((int *)&__m256_op0[4]) = 0xffffff46; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffff7e; + *((int *)&__m256_op0[0]) = 0xffffff46; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffe5ffffffe5; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffe5ffffffe5; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffe5ffffffe5; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffe5ffffffe5; + *((unsigned long *)&__m256d_op1[3]) = 0xffffffe5ffffffe5; + *((unsigned long *)&__m256d_op1[2]) = 0xffffffe5ffffffe5; + *((unsigned long *)&__m256d_op1[1]) = 0xffffffe5ffffffe5; + *((unsigned long *)&__m256d_op1[0]) = 0xffffffe5ffffffe5; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000001000000010; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000001000000010; + *((unsigned long *)&__m256d_op1[3]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x7ff0000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x7ff0000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffff7fffffff; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x00000001ffffffff; + *((unsigned long *)&__m256d_op1[2]) = 0x00000001ffffffff; + *((unsigned long *)&__m256d_op1[1]) = 0x00000001ffffffff; + *((unsigned long *)&__m256d_op1[0]) = 0x00000001ffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x000000017bfffff0; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000180007fe8; + *((unsigned long *)&__m256d_op0[1]) = 0x000000017bfffff0; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000180007fe8; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x7c00000880008000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x7c00000880008000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x000000007fffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x000000007fffffff; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x00000000000007c8; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x00000000000007c8; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000001fe01fe; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000ff0100; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000001fe01fe; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000ff0100; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x0fffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x0fffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x0fffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x0fffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x000000010000685e; + *((unsigned long *)&__m256d_op1[2]) = 0x000020a4ffffbe4f; + *((unsigned long *)&__m256d_op1[1]) = 0x000000010000685e; + *((unsigned long *)&__m256d_op1[0]) = 0x000020a4ffffbe4f; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000800000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000800000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xfd12fd12; + *((int *)&__m256_op0[6]) = 0xfd12fd12; + *((int *)&__m256_op0[5]) = 0xfd12fd12; + *((int *)&__m256_op0[4]) = 0xfd12fd12; + *((int *)&__m256_op0[3]) = 0xfd12fd12; + *((int *)&__m256_op0[2]) = 0xfd12fd12; + *((int *)&__m256_op0[1]) = 0xfd12fd12; + *((int *)&__m256_op0[0]) = 0xfd12fd12; + *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000; + __m256i_out = __lasx_xvftintrne_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x000a000a000a000a; + *((unsigned long *)&__m256d_op1[2]) = 0x000a000a000a000a; + *((unsigned long *)&__m256d_op1[1]) = 0x000a000a000a000a; + *((unsigned long *)&__m256d_op1[0]) = 0x000a000a000a000a; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrne_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffe4ffe6; + *((int *)&__m256_op0[6]) = 0xffe5ffe6; + *((int *)&__m256_op0[5]) = 0xffe4ffe6; + *((int *)&__m256_op0[4]) = 0xffe5ffe6; + *((int *)&__m256_op0[3]) = 0xffe4ffe6; + *((int *)&__m256_op0[2]) = 0xffe5ffe6; + *((int *)&__m256_op0[1]) = 0xffe4ffe6; + *((int *)&__m256_op0[0]) = 0xffe5ffe6; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000001; + *((int *)&__m256_op0[4]) = 0x00010102; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x80008000; + *((int *)&__m256_op0[6]) = 0x80008000; + *((int *)&__m256_op0[5]) = 0x80008000; + *((int *)&__m256_op0[4]) = 0x80008000; + *((int *)&__m256_op0[3]) = 0x80008000; + *((int *)&__m256_op0[2]) = 0x80008000; + *((int *)&__m256_op0[1]) = 0x80008000; + *((int *)&__m256_op0[0]) = 0x80008000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x10000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x10000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000100000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000100000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x8000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000001; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000001; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000001; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00ff00ff; + *((int *)&__m256_op0[6]) = 0x00ff00ff; + *((int *)&__m256_op0[5]) = 0x00ff00ff; + *((int *)&__m256_op0[4]) = 0x00ff00ff; + *((int *)&__m256_op0[3]) = 0x00ff00ff; + *((int *)&__m256_op0[2]) = 0x00ff00ff; + *((int *)&__m256_op0[1]) = 0x00ff00ff; + *((int *)&__m256_op0[0]) = 0x00ff00ff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001; + __m256i_out = __lasx_xvftintrp_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0010001000100010; + *((unsigned long *)&__m256d_op1[2]) = 0x0010001000107878; + *((unsigned long *)&__m256d_op1[1]) = 0x0010001000100010; + *((unsigned long *)&__m256d_op1[0]) = 0x0010001000107878; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0040000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0040000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0040000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0040000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0005000500050005; + *((unsigned long *)&__m256d_op0[2]) = 0xfefefefefefefefe; + *((unsigned long *)&__m256d_op0[1]) = 0x0005000500050005; + *((unsigned long *)&__m256d_op0[0]) = 0xfefefefefefefefe; + *((unsigned long *)&__m256d_op1[3]) = 0x00003fea00013fec; + *((unsigned long *)&__m256d_op1[2]) = 0x00003fe50001c013; + *((unsigned long *)&__m256d_op1[1]) = 0x00003fea00013fec; + *((unsigned long *)&__m256d_op1[0]) = 0x00003fe50001c013; + *((unsigned long *)&__m256i_result[3]) = 0x0000000180000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000100000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000180000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000100000001; + __m256i_out = __lasx_xvftintrp_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffff000000010000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000095120000; + *((unsigned long *)&__m256d_op0[1]) = 0xc9da000063f50000; + *((unsigned long *)&__m256d_op0[0]) = 0xc7387fff6bbfffff; + *((unsigned long *)&__m256d_op1[3]) = 0xfffe000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000ffff00010000; + *((unsigned long *)&__m256d_op1[1]) = 0x4001000100020000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000ffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000200000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xfffefffe; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xfffefffe; + *((int *)&__m256_op0[2]) = 0xfffefffd; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x0707feb6; + *((int *)&__m256_op0[6]) = 0x0707b7d0; + *((int *)&__m256_op0[5]) = 0x45baa7ef; + *((int *)&__m256_op0[4]) = 0x6a95a985; + *((int *)&__m256_op0[3]) = 0x0707feb6; + *((int *)&__m256_op0[2]) = 0x0707b7d0; + *((int *)&__m256_op0[1]) = 0x45baa7ef; + *((int *)&__m256_op0[0]) = 0x6a95a985; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x000017547fffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x000017547fffffff; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x6d6d6d6d; + *((int *)&__m256_op0[6]) = 0x6d6d6d6d; + *((int *)&__m256_op0[5]) = 0x6d6d6d6d; + *((int *)&__m256_op0[4]) = 0x6d6d6d6d; + *((int *)&__m256_op0[3]) = 0x6d6d6d6d; + *((int *)&__m256_op0[2]) = 0x6d6d6d6d; + *((int *)&__m256_op0[1]) = 0x6d6d6d6d; + *((int *)&__m256_op0[0]) = 0x6d6d6d6d; + *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffff7fffffff; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xefdfefdf00000000; + *((unsigned long *)&__m256d_op0[2]) = 0xefdfefdfefdfefdf; + *((unsigned long *)&__m256d_op0[1]) = 0xefdfefdf00000000; + *((unsigned long *)&__m256d_op0[0]) = 0xefdfefdfefdfefdf; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x43ef878780000009; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x43ef878780000009; + *((unsigned long *)&__m256d_op1[3]) = 0x00000000c0000005; + *((unsigned long *)&__m256d_op1[2]) = 0x21f8c3c4c0000005; + *((unsigned long *)&__m256d_op1[1]) = 0x00000000c0000005; + *((unsigned long *)&__m256d_op1[0]) = 0x21f8c3c4c0000005; + *((unsigned long *)&__m256i_result[3]) = 0x000000007fffffff; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x00000000ffe36780; + *((unsigned long *)&__m256d_op1[2]) = 0x8000000100000001; + *((unsigned long *)&__m256d_op1[1]) = 0x00000000ffe36780; + *((unsigned long *)&__m256d_op1[0]) = 0x8000000100000001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x00000000ffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x00000000ffffffff; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xfff10000; + *((int *)&__m256_op0[4]) = 0xfff10000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xfff10000; + *((int *)&__m256_op0[0]) = 0xfff10000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0xfdfcfda8; + *((int *)&__m256_op0[5]) = 0x0000e282; + *((int *)&__m256_op0[4]) = 0x1d20ffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0xfdfcfda8; + *((int *)&__m256_op0[1]) = 0x0000e282; + *((int *)&__m256_op0[0]) = 0x1d20ffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000080000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000080000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0080000000800000; + *((unsigned long *)&__m256d_op1[2]) = 0x0080000000800000; + *((unsigned long *)&__m256d_op1[1]) = 0x0080000000800000; + *((unsigned long *)&__m256d_op1[0]) = 0x0080000000800000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x7ff8000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x7ff8000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x7ff8000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x7ff8000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x1fa0000000080000; + *((unsigned long *)&__m256d_op1[2]) = 0x1fa0000000080000; + *((unsigned long *)&__m256d_op1[1]) = 0x1fa0000000080000; + *((unsigned long *)&__m256d_op1[0]) = 0x1fa0000000080000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xff00ff00ff00ff00; + *((unsigned long *)&__m256d_op0[2]) = 0xff00ff007f007f00; + *((unsigned long *)&__m256d_op0[1]) = 0xff00ff00ff00ff00; + *((unsigned long *)&__m256d_op0[0]) = 0xff00ff007f007f00; + *((unsigned long *)&__m256d_op1[3]) = 0xff00ff00ff00ff00; + *((unsigned long *)&__m256d_op1[2]) = 0xff00ff007f007f00; + *((unsigned long *)&__m256d_op1[1]) = 0xff00ff00ff00ff00; + *((unsigned long *)&__m256d_op1[0]) = 0xff00ff007f007f00; + *((unsigned long *)&__m256i_result[3]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[2]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[1]) = 0x8000000080000000; + *((unsigned long *)&__m256i_result[0]) = 0x8000000080000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000ffff0002fffc; + *((unsigned long *)&__m256d_op0[2]) = 0xffff0000fffd0003; + *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff0002fffc; + *((unsigned long *)&__m256d_op0[0]) = 0xffff0000fffd0003; + *((unsigned long *)&__m256d_op1[3]) = 0x003f020001400200; + *((unsigned long *)&__m256d_op1[2]) = 0x003f00ff003f00c4; + *((unsigned long *)&__m256d_op1[1]) = 0x003f020001400200; + *((unsigned long *)&__m256d_op1[0]) = 0x003f00ff003f00c4; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrm_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0xfffffff0ffff0000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0xfffffff0ffff0000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0101010101010101; + *((unsigned long *)&__m256d_op1[2]) = 0x3ff1808001020101; + *((unsigned long *)&__m256d_op1[1]) = 0x0101010101010101; + *((unsigned long *)&__m256d_op1[0]) = 0x3ff1808001020101; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000001; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x002e2100; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x34000000fff00000; + *((unsigned long *)&__m256d_op0[2]) = 0xfff6e00000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x3380000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x363c0000fff3c000; + *((unsigned long *)&__m256d_op1[3]) = 0x000000030000000c; + *((unsigned long *)&__m256d_op1[2]) = 0x0000001100000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000500000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000800000010; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[3]) = 0xa5a5a5a5a5a5a5a5; + *((unsigned long *)&__m256d_op1[2]) = 0xa5a5a5a5a5a5a5ff; + *((unsigned long *)&__m256d_op1[1]) = 0xa5a5a5a5a5a5a5a5; + *((unsigned long *)&__m256d_op1[0]) = 0xa5a5a5a5a5a5a5ff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x55555555; + *((int *)&__m256_op0[6]) = 0x55555555; + *((int *)&__m256_op0[5]) = 0x5d5d5d5d; + *((int *)&__m256_op0[4]) = 0x5d555d55; + *((int *)&__m256_op0[3]) = 0x55555555; + *((int *)&__m256_op0[2]) = 0x55555555; + *((int *)&__m256_op0[1]) = 0x5d5ca2a3; + *((int *)&__m256_op0[0]) = 0x5d54aaab; + *((unsigned long *)&__m256i_result[3]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffff7fffffff; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffff7fffffff; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[3]) = 0x0b085bfc00000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0b004bc000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0b085bfc00000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0b004bc000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0xffeeffaf; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000011; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0xffeeffaf; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000011; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00ff00ff; + *((int *)&__m256_op0[6]) = 0x00ff00ff; + *((int *)&__m256_op0[5]) = 0x00ff00ff; + *((int *)&__m256_op0[4]) = 0x00ff00ff; + *((int *)&__m256_op0[3]) = 0x00ff00ff; + *((int *)&__m256_op0[2]) = 0x00ff00ff; + *((int *)&__m256_op0[1]) = 0x00ff00ff; + *((int *)&__m256_op0[0]) = 0x00ff00ff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x001d001d; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x01ff0020ff1f001f; + *((unsigned long *)&__m256d_op0[2]) = 0x7fe1ffe0ffe1ffe0; + *((unsigned long *)&__m256d_op0[1]) = 0x01ff0020ff1f001f; + *((unsigned long *)&__m256d_op0[0]) = 0x7fe1ffe0ffe1ffe0; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x00003fe000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x00003fe000000000; + *((unsigned long *)&__m256i_result[3]) = 0x000000007fffffff; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x000000007fffffff; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op1[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_d (__m256d_op0, __m256d_op1); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x81fa28e4; + *((int *)&__m256_op0[6]) = 0x81fa28e4; + *((int *)&__m256_op0[5]) = 0x81fa28e4; + *((int *)&__m256_op0[4]) = 0x81fa28e4; + *((int *)&__m256_op0[3]) = 0x81fa28e4; + *((int *)&__m256_op0[2]) = 0x81fa28e4; + *((int *)&__m256_op0[1]) = 0x81fa28e4; + *((int *)&__m256_op0[0]) = 0x81fa28e4; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_w_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c new file mode 100644 index 00000000000..19db4e192d2 --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftint-3.c @@ -0,0 +1,511 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xfffefffe; + *((int *)&__m256_op0[6]) = 0xfffefffe; + *((int *)&__m256_op0[5]) = 0xfffefffe; + *((int *)&__m256_op0[4]) = 0xfffefffe; + *((int *)&__m256_op0[3]) = 0xfffefffe; + *((int *)&__m256_op0[2]) = 0xfffefffe; + *((int *)&__m256_op0[1]) = 0xfffefffe; + *((int *)&__m256_op0[0]) = 0xfffefffe; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000200; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000200; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000200; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000200; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xfffffff1; + *((int *)&__m256_op0[6]) = 0xfffffff1; + *((int *)&__m256_op0[5]) = 0xfffffff1; + *((int *)&__m256_op0[4]) = 0xfffffff1; + *((int *)&__m256_op0[3]) = 0xfffffff1; + *((int *)&__m256_op0[2]) = 0xfffffff1; + *((int *)&__m256_op0[1]) = 0xfffffff1; + *((int *)&__m256_op0[0]) = 0xfffffff1; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x43ef8787; + *((int *)&__m256_op0[4]) = 0x8000ffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x43ef8787; + *((int *)&__m256_op0[0]) = 0x8000ffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x000001df00000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x000001df00000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0x00030005; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0x00030005; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x7ff80000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x7ff80000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x7ff80000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x7ff80000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000002; + *((int *)&__m256_op0[6]) = 0x00000002; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000002; + *((int *)&__m256_op0[2]) = 0x00000002; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x7ff00000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x7ff00000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x7ff00000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x7ff00000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00016e00; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00016e00; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_wu_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256d_op0[0]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000004000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000004000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftint_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x38a966b301f41ffd; + *((unsigned long *)&__m256d_op0[2]) = 0x5f6108ee13ff0000; + *((unsigned long *)&__m256d_op0[1]) = 0xf41a56e8d10201f6; + *((unsigned long *)&__m256d_op0[0]) = 0x683b8b34f1020001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0xffffffffffffffff; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000003868686a20; + *((unsigned long *)&__m256d_op0[2]) = 0x0045b8ae81bce1d8; + *((unsigned long *)&__m256d_op0[1]) = 0x0000003868686a20; + *((unsigned long *)&__m256d_op0[0]) = 0x0045b8ae81bce1d8; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0xc2c2c2c2c2c2c2c2; + *((unsigned long *)&__m256d_op0[2]) = 0xc2c2c2c2c2c29cc0; + *((unsigned long *)&__m256d_op0[1]) = 0xc2c2c2c2c2c2c2c2; + *((unsigned long *)&__m256d_op0[0]) = 0xc2c2c2c2c2c29cc0; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x00000000007a00f8; + *((unsigned long *)&__m256d_op0[2]) = 0x00ff00ff01640092; + *((unsigned long *)&__m256d_op0[1]) = 0x00000000007a00f8; + *((unsigned long *)&__m256d_op0[0]) = 0x00ff00ff01640092; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x000000007fff80fe; + *((unsigned long *)&__m256d_op0[2]) = 0x000000007fff80fe; + *((unsigned long *)&__m256d_op0[1]) = 0x0000ffff80007ffe; + *((unsigned long *)&__m256d_op0[0]) = 0x0000ff007fff80fe; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000064; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000781; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000064; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[2]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000000000000; + *((unsigned long *)&__m256d_op0[0]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x000408080c111414; + *((unsigned long *)&__m256d_op0[2]) = 0x000408080c111414; + *((unsigned long *)&__m256d_op0[1]) = 0x000408080c111414; + *((unsigned long *)&__m256d_op0[0]) = 0x000408080c111414; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((unsigned long *)&__m256d_op0[3]) = 0x0000000008e8c000; + *((unsigned long *)&__m256d_op0[2]) = 0x000000000fffc000; + *((unsigned long *)&__m256d_op0[1]) = 0x0000000008e8c000; + *((unsigned long *)&__m256d_op0[0]) = 0x000000000fffc000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrz_lu_d (__m256d_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + return 0; +} diff --git a/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c new file mode 100644 index 00000000000..b0fdf7e0b7d --- /dev/null +++ b/gcc/testsuite/gcc.target/loongarch/vector/lasx/lasx-xvftintl.c @@ -0,0 +1,1580 @@ +/* { dg-do run } */ +/* { dg-options "-mlasx -w -fno-strict-aliasing" } */ +#include "../simd_correctness_check.h" +#include + +int +main () +{ + __m256i __m256i_op0, __m256i_op1, __m256i_op2, __m256i_out, __m256i_result; + __m256 __m256_op0, __m256_op1, __m256_op2, __m256_out, __m256_result; + __m256d __m256d_op0, __m256d_op1, __m256d_op2, __m256d_out, __m256d_result; + + int int_op0, int_op1, int_op2, int_out, int_result, i = 1, fail; + long int long_op0, long_op1, long_op2, lont_out, lont_result; + long int long_int_out, long_int_result; + unsigned int unsigned_int_out, unsigned_int_result; + unsigned long int unsigned_long_int_out, unsigned_long_int_result; + + *((int *)&__m256_op0[7]) = 0xc58a0a0a; + *((int *)&__m256_op0[6]) = 0x07070706; + *((int *)&__m256_op0[5]) = 0x006b60e4; + *((int *)&__m256_op0[4]) = 0x180b0023; + *((int *)&__m256_op0[3]) = 0x1b39153f; + *((int *)&__m256_op0[2]) = 0x334b966a; + *((int *)&__m256_op0[1]) = 0xf1d75d79; + *((int *)&__m256_op0[0]) = 0xefcac002; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x40404040; + *((int *)&__m256_op0[6]) = 0x40404040; + *((int *)&__m256_op0[5]) = 0x40404040; + *((int *)&__m256_op0[4]) = 0x40404040; + *((int *)&__m256_op0[3]) = 0x40404040; + *((int *)&__m256_op0[2]) = 0x40404040; + *((int *)&__m256_op0[1]) = 0x40404040; + *((int *)&__m256_op0[0]) = 0x40404040; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000003; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000003; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000003; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000003; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00080000; + *((int *)&__m256_op0[4]) = 0x00000010; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00080000; + *((int *)&__m256_op0[0]) = 0x00000010; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x40f69fe6; + *((int *)&__m256_op0[6]) = 0x3c26f4f5; + *((int *)&__m256_op0[5]) = 0x7ff7ffff; + *((int *)&__m256_op0[4]) = 0x00000007; + *((int *)&__m256_op0[3]) = 0x40f69fe6; + *((int *)&__m256_op0[2]) = 0x3c26f4f5; + *((int *)&__m256_op0[1]) = 0x7ff7ffff; + *((int *)&__m256_op0[0]) = 0x00000007; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00060000; + *((int *)&__m256_op0[6]) = 0x00040000; + *((int *)&__m256_op0[5]) = 0x00020000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00060000; + *((int *)&__m256_op0[2]) = 0x00040000; + *((int *)&__m256_op0[1]) = 0x00020000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xffff0000; + *((int *)&__m256_op0[4]) = 0xffff0000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xffff0000; + *((int *)&__m256_op0[0]) = 0xffff0000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x55550000; + *((int *)&__m256_op0[6]) = 0x55550000; + *((int *)&__m256_op0[5]) = 0x55550000; + *((int *)&__m256_op0[4]) = 0x55550000; + *((int *)&__m256_op0[3]) = 0x55550000; + *((int *)&__m256_op0[2]) = 0x55550000; + *((int *)&__m256_op0[1]) = 0x55550000; + *((int *)&__m256_op0[0]) = 0x55550000; + *((unsigned long *)&__m256i_result[3]) = 0x00000d5000000000; + *((unsigned long *)&__m256i_result[2]) = 0x00000d5000000000; + *((unsigned long *)&__m256i_result[1]) = 0x00000d5000000000; + *((unsigned long *)&__m256i_result[0]) = 0x00000d5000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x007f8080; + *((int *)&__m256_op0[6]) = 0x007f007f; + *((int *)&__m256_op0[5]) = 0x007f8080; + *((int *)&__m256_op0[4]) = 0x007f007f; + *((int *)&__m256_op0[3]) = 0x007f8080; + *((int *)&__m256_op0[2]) = 0x007f007f; + *((int *)&__m256_op0[1]) = 0x007f8080; + *((int *)&__m256_op0[0]) = 0x007f007f; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x08e8c000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x0fffc000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x08e8c000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x0fffc000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftinth_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000002; + *((int *)&__m256_op0[4]) = 0x00000008; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000002; + *((int *)&__m256_op0[0]) = 0x00000008; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x7f1d7f7f; + *((int *)&__m256_op0[6]) = 0x7f1d7f3b; + *((int *)&__m256_op0[5]) = 0x02020102; + *((int *)&__m256_op0[4]) = 0x02020102; + *((int *)&__m256_op0[3]) = 0x7f1d7f7f; + *((int *)&__m256_op0[2]) = 0x7f1d7f3b; + *((int *)&__m256_op0[1]) = 0x02020102; + *((int *)&__m256_op0[0]) = 0x02020102; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrnel_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000102; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0x39ffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0x39ffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x80000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x80000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x80000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x80000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x000055ff; + *((int *)&__m256_op0[6]) = 0x01f90ab5; + *((int *)&__m256_op0[5]) = 0xaa95eaff; + *((int *)&__m256_op0[4]) = 0xfec6e01f; + *((int *)&__m256_op0[3]) = 0x000055ff; + *((int *)&__m256_op0[2]) = 0x01f90ab5; + *((int *)&__m256_op0[1]) = 0xaa95eaff; + *((int *)&__m256_op0[0]) = 0xfec6e01f; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xfffeb683; + *((int *)&__m256_op0[6]) = 0x9ffffd80; + *((int *)&__m256_op0[5]) = 0xfffe97c0; + *((int *)&__m256_op0[4]) = 0x20010001; + *((int *)&__m256_op0[3]) = 0xfffeb683; + *((int *)&__m256_op0[2]) = 0x9ffffd80; + *((int *)&__m256_op0[1]) = 0xfffe97c0; + *((int *)&__m256_op0[0]) = 0x20010001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001; + __m256i_out = __lasx_xvftintrpl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x000000ff; + *((int *)&__m256_op0[6]) = 0x000000f8; + *((int *)&__m256_op0[5]) = 0xbc8ff0ff; + *((int *)&__m256_op0[4]) = 0xffffcff8; + *((int *)&__m256_op0[3]) = 0x000000ff; + *((int *)&__m256_op0[2]) = 0x000000f8; + *((int *)&__m256_op0[1]) = 0xbc8ff0ff; + *((int *)&__m256_op0[0]) = 0xffffcff8; + *((unsigned long *)&__m256i_result[3]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0xffffffffffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000001; + *((int *)&__m256_op0[6]) = 0x00000001; + *((int *)&__m256_op0[5]) = 0x00000001; + *((int *)&__m256_op0[4]) = 0x00000001; + *((int *)&__m256_op0[3]) = 0x00000001; + *((int *)&__m256_op0[2]) = 0x00000001; + *((int *)&__m256_op0[1]) = 0x00000001; + *((int *)&__m256_op0[0]) = 0x00000001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x7fe37fe3; + *((int *)&__m256_op0[6]) = 0x001d001d; + *((int *)&__m256_op0[5]) = 0x7fff7fff; + *((int *)&__m256_op0[4]) = 0x7fff0000; + *((int *)&__m256_op0[3]) = 0x7fe37fe3; + *((int *)&__m256_op0[2]) = 0x001d001d; + *((int *)&__m256_op0[1]) = 0x7fff7fff; + *((int *)&__m256_op0[0]) = 0x7fff0000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000010; + *((int *)&__m256_op0[6]) = 0x00000010; + *((int *)&__m256_op0[5]) = 0x00000010; + *((int *)&__m256_op0[4]) = 0x00000010; + *((int *)&__m256_op0[3]) = 0x00000010; + *((int *)&__m256_op0[2]) = 0x00000010; + *((int *)&__m256_op0[1]) = 0x00000010; + *((int *)&__m256_op0[0]) = 0x00000010; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrml_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x8b141414; + *((int *)&__m256_op0[4]) = 0x0e0e0e0e; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x36722a7e; + *((int *)&__m256_op0[0]) = 0x66972cd6; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x6a9e3f9a; + *((int *)&__m256_op0[4]) = 0x603a2001; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x6a9e3f9a; + *((int *)&__m256_op0[0]) = 0x603a2001; + *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000001; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x0000fafe; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x0000fafe; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzl_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00fffefe; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0xfffffffc; + *((int *)&__m256_op0[4]) = 0x5556aaa8; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0xfffffffc; + *((int *)&__m256_op0[0]) = 0x5556aaa8; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffcc80; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x7dfdff4b; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x002a5429; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x002a5429; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x77777777; + *((int *)&__m256_op0[6]) = 0xf7777777; + *((int *)&__m256_op0[5]) = 0xf7777777; + *((int *)&__m256_op0[4]) = 0x77777777; + *((int *)&__m256_op0[3]) = 0x77777777; + *((int *)&__m256_op0[2]) = 0xf7777777; + *((int *)&__m256_op0[1]) = 0xf7777777; + *((int *)&__m256_op0[0]) = 0x77777777; + *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000009; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000009; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000009; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000009; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x010c7fbc; + *((int *)&__m256_op0[6]) = 0x7e1c7e1c; + *((int *)&__m256_op0[5]) = 0xfe000000; + *((int *)&__m256_op0[4]) = 0x00000024; + *((int *)&__m256_op0[3]) = 0x010c7fbc; + *((int *)&__m256_op0[2]) = 0x7e1c7e1c; + *((int *)&__m256_op0[1]) = 0xfe000000; + *((int *)&__m256_op0[0]) = 0x00000024; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xfffffe20; + *((int *)&__m256_op0[6]) = 0x001dfe1f; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xfffffe20; + *((int *)&__m256_op0[2]) = 0x001dfe1f; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffe1; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffe1; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffe1; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffe1; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000040; + *((int *)&__m256_op0[6]) = 0x00000020; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000040; + *((int *)&__m256_op0[2]) = 0x00000020; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrneh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xfefefeff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xff295329; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xfefefeff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xff295329; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xff00ffff; + *((int *)&__m256_op0[6]) = 0xff00ffff; + *((int *)&__m256_op0[5]) = 0xff00ffff; + *((int *)&__m256_op0[4]) = 0xff00ffff; + *((int *)&__m256_op0[3]) = 0xff00ffff; + *((int *)&__m256_op0[2]) = 0xff00ffff; + *((int *)&__m256_op0[1]) = 0xff00ffff; + *((int *)&__m256_op0[0]) = 0xff00ffff; + *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x7fefffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x7fefffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x02020102; + *((int *)&__m256_op0[6]) = 0x02020102; + *((int *)&__m256_op0[5]) = 0x02020102; + *((int *)&__m256_op0[4]) = 0x02020102; + *((int *)&__m256_op0[3]) = 0x02020102; + *((int *)&__m256_op0[2]) = 0x02020102; + *((int *)&__m256_op0[1]) = 0x02020102; + *((int *)&__m256_op0[0]) = 0x02020102; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000001; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000001; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000001; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000001; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000001; + __m256i_out = __lasx_xvftintrph_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x515f93f0; + *((int *)&__m256_op0[6]) = 0x23600fb9; + *((int *)&__m256_op0[5]) = 0x948b39e0; + *((int *)&__m256_op0[4]) = 0xb7405f6f; + *((int *)&__m256_op0[3]) = 0x48ef0878; + *((int *)&__m256_op0[2]) = 0x00007c83; + *((int *)&__m256_op0[1]) = 0x78af877c; + *((int *)&__m256_op0[0]) = 0x7d7f86f9; + *((unsigned long *)&__m256i_result[3]) = 0x0000000df93f0000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000077843; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x17171717; + *((int *)&__m256_op0[6]) = 0x17171717; + *((int *)&__m256_op0[5]) = 0x000607f7; + *((int *)&__m256_op0[4]) = 0x00000001; + *((int *)&__m256_op0[3]) = 0x17171717; + *((int *)&__m256_op0[2]) = 0x17171717; + *((int *)&__m256_op0[1]) = 0x000607f7; + *((int *)&__m256_op0[0]) = 0x00000001; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00ff00ff; + *((int *)&__m256_op0[6]) = 0x00ff00ff; + *((int *)&__m256_op0[5]) = 0x00ff00ff; + *((int *)&__m256_op0[4]) = 0x017e01fe; + *((int *)&__m256_op0[3]) = 0x017e00ff; + *((int *)&__m256_op0[2]) = 0x017e00ff; + *((int *)&__m256_op0[1]) = 0x00ff00ff; + *((int *)&__m256_op0[0]) = 0x017e01fe; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xfefefefe; + *((int *)&__m256_op0[6]) = 0xfefefefe; + *((int *)&__m256_op0[5]) = 0xfe8bfe0e; + *((int *)&__m256_op0[4]) = 0xfe8bfe12; + *((int *)&__m256_op0[3]) = 0xfefefefe; + *((int *)&__m256_op0[2]) = 0xfefefefe; + *((int *)&__m256_op0[1]) = 0xfe8bfe0e; + *((int *)&__m256_op0[0]) = 0xfe8bfe12; + *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000; + __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x71717171; + *((int *)&__m256_op0[6]) = 0x71010101; + *((int *)&__m256_op0[5]) = 0x8e8e8e8e; + *((int *)&__m256_op0[4]) = 0x8f00ffff; + *((int *)&__m256_op0[3]) = 0x71717171; + *((int *)&__m256_op0[2]) = 0x71010101; + *((int *)&__m256_op0[1]) = 0x8e8e8e8e; + *((int *)&__m256_op0[0]) = 0x8f00ffff; + *((unsigned long *)&__m256i_result[3]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[2]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[1]) = 0x7fffffffffffffff; + *((unsigned long *)&__m256i_result[0]) = 0x7fffffffffffffff; + __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00060000; + *((int *)&__m256_op0[6]) = 0x00040000; + *((int *)&__m256_op0[5]) = 0x00020000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00060000; + *((int *)&__m256_op0[2]) = 0x00040000; + *((int *)&__m256_op0[1]) = 0x00020000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xff1cff1c; + *((int *)&__m256_op0[6]) = 0xff1cff1c; + *((int *)&__m256_op0[5]) = 0xff1cff1c; + *((int *)&__m256_op0[4]) = 0xff1cff1c; + *((int *)&__m256_op0[3]) = 0xff1cff1c; + *((int *)&__m256_op0[2]) = 0xff1cff1c; + *((int *)&__m256_op0[1]) = 0xff1cff1c; + *((int *)&__m256_op0[0]) = 0xff1cff1c; + *((unsigned long *)&__m256i_result[3]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x8000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x8000000000000000; + __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x000fffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x000fffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrmh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00002262; + *((int *)&__m256_op0[6]) = 0x00005111; + *((int *)&__m256_op0[5]) = 0x0000165e; + *((int *)&__m256_op0[4]) = 0x0000480d; + *((int *)&__m256_op0[3]) = 0x00002262; + *((int *)&__m256_op0[2]) = 0x00005111; + *((int *)&__m256_op0[1]) = 0x0000165e; + *((int *)&__m256_op0[0]) = 0x0000480d; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0xffffffff; + *((int *)&__m256_op0[6]) = 0xffffffff; + *((int *)&__m256_op0[5]) = 0xffffffff; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0xffffffff; + *((int *)&__m256_op0[2]) = 0xffffffff; + *((int *)&__m256_op0[1]) = 0xffffffff; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0xffffffff; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0xffffffff; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00000000; + *((int *)&__m256_op0[6]) = 0x00000000; + *((int *)&__m256_op0[5]) = 0x00000000; + *((int *)&__m256_op0[4]) = 0x00000000; + *((int *)&__m256_op0[3]) = 0x00000000; + *((int *)&__m256_op0[2]) = 0x00000000; + *((int *)&__m256_op0[1]) = 0x00000000; + *((int *)&__m256_op0[0]) = 0x00000000; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + *((int *)&__m256_op0[7]) = 0x00040004; + *((int *)&__m256_op0[6]) = 0x00040004; + *((int *)&__m256_op0[5]) = 0x00040005; + *((int *)&__m256_op0[4]) = 0x00040005; + *((int *)&__m256_op0[3]) = 0x00040004; + *((int *)&__m256_op0[2]) = 0x00040004; + *((int *)&__m256_op0[1]) = 0x00040005; + *((int *)&__m256_op0[0]) = 0x00040005; + *((unsigned long *)&__m256i_result[3]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[2]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[1]) = 0x0000000000000000; + *((unsigned long *)&__m256i_result[0]) = 0x0000000000000000; + __m256i_out = __lasx_xvftintrzh_l_s (__m256_op0); + ASSERTEQ_64 (__LINE__, __m256i_result, __m256i_out); + + return 0; +}